Shared publicly  - 

+Dominic Cooney landed [1][2] the CSS :unresolved pseudoclass last week in Chrome Canary.

Before a custom element is registered in the browser, it's an HTMLUnknownElement. "The :unresolved pseudoclass could be used to mitigate the Flash of Unstyled Content (FOUC) issues with custom elements."

Demo: (use Canary with the Enable Experimental WebKit features turned on in about:flags)

Shortcut, Action. ctrl + [num], Toggle nth panel. esc, ctrl + [num], JS Bin ignores this sequence, and returns control to browser shortcuts. ctrl + enter, Re-render JavaScript. If console visible: run...
John Reading's profile photoChris Weber's profile photoEric Bidelman's profile photoSeth Ladd's profile photo
guess I don't have that version of Canary yet.  Doesn't work for  28.0.1499.0.  Do I need to turn on any experiments for this?
"Enable Experimental WebKit features turned on in about:flags"
What approach would offer the best mitigation? How can adding styles to unstyled content be effective? What about excessive repaints?
+John Reading For example, you hide elements and fade them in with a smooth
transition after the elements have been upgraded:

x-foo {
  transition: opacity 400ms;
:unresolved {
  opacity: 0;

This technique follows suite of what current frameworks like Angular do. Angular has ng-cloak [1] for this same purpose and hides unparsed templates until they're ready.
I see this in Chrome 31: Invalid CSS selector pseudoclass: unresolved
Add a comment...