私は:not()
疑似クラスを使って、最初のものを取り消すための2番目の不要な宣言でオーバーライドする必要がなくなりました。 今、Safariが:not()
内の子孫セレクタを受け入れ、 Chromeはそうではありません。Does:not()否定は子孫セレクタを受け入れますか?
私はa:not(.blue a)
のようなものを使用。
私は答えを探しましたが、私はまだその理由を十分に理解していません。
子孫セレクタは実際に仕様によって許可されていますか?ここで
はデモです:Selectors Level 3で
a:not(.blue a) {
color: red;
}
<div><a>this one should be in red</a></div>
<div class="blue"><a>this one shouldn't</a></div>
http://codepen.io/oscarmarcelo/pen/YqboQJ?editors=1100
また、私は信じている:(.blue a)は ''また、子供 '要素を持っているクラス' blue'と '要素を除くことになるではありません。あなたが期待しているのは、 ':not()'セレクタ内の親セレクタの動作です。 – TylerH
@TylerH:a :(.blue a)は.blue要素の子孫ではない要素を表します。 – BoltClock
@BoltClockそれは他とは違ってユニークで -/ – TylerH