CSS Scoping Module Level 1のドラフトの状態がいつでも変更できる状態であるため、私の最初のアプローチはあまり長く機能しませんでした。
Chrome v33 以降では、以下のコードを機能させるために有効にする必要がありますEnable Experimental Web Platform Features
。chrome://flags
Chrome Canary v33とその cat セレクターから始めて^^
、答えは:はい!
2014 年 3 月 30 日の更新: Chrome Canary v35+は、セレクターの最新バージョン、いわゆる/deep/
selectorをサポートします。
すべての境界にわたってスタイルを設定し、ネイティブ要素でも機能します。
参照: http://codepen.io/Volker_E/pen/jsHFC
/* ... Example for applying to all h2 elements, no matter if DOM or any ShadowDOM subtree ... */
:root ^^ h2 {
font-family: "Arial Black", sans-serif;
}
/* Cr 33+: The "cat" also works on native elements' ShadowDOM */
video ^^ input[type="button"]:first-child {
opacity: .75;
-webkit-filter: drop-shadow( .2rem .2rem .2rem hsla( 5, 100%, 50%, 1 ) );
}
/* Cr 35+: /deep/ also works on native elements' ShadowDOM */
video /deep/ input[type="button"]:first-child {
opacity: .75;
-webkit-filter: drop-shadow( .2rem .2rem .2rem hsla( 5, 100%, 50%, 1 ) );
}