x-foo
私はbackground-color
を設定するカスタムCSSプロパティを--xbg
と定義しました。ポリマーは "!important"を使用せずに内部要素のカスタムCSSプロパティを設定します
x-foo.outer {
--xbg: orange;
}
x-foo.outer x-foo {
--xbg: red;
/* Doesn't work, have to use !important?!?!*/
}
I:
<x-foo class="outer">
Outer
<x-foo class="inner">
Inner 1
</x-foo>
</x-foo>
Iは、外側に--xbg
を設定し、その値は、内側要素の値をオーバーライド:
私はように子供のような自体の要素と要素を使用しますChromeのインスペクタを使用して、子の定義が実際に親の「下位」であることがわかります。
!important
と高くなるように強制する必要があります。これには他にもさまざまな意味があります。
x-foo.outer x-foo {
--xbg: red !important;
/* Works */
}
なぜ、子は親プロパティを上書きしないのですか?他のブラウザのため https://plnkr.co/edit/uZxg7G?p=preview(Chromeのみで動作します)
シンプルJSBin:ここ
は、いくつかのより多くの例で、このためplunkerだ http://jsbin.com/wuqobejeci/edit?html,output
これを再現するように見えることはできません。 Plunkrはそれらの要素をスタイリングしていません...あなたにはいくつかの図書館がありませんか?編集:ああ、Chrome専用です。 – TylerH
私は例2はexample3のように赤い ''を持つべきだと思います。 –
@TylerHはクロムだけではないと思っていましたが、私はプランナーに何かを見逃しています。 – Bulan