2016-10-29 5 views
-2

:notを使用して、比較的シンプルなCSSセレクタを使用するのに問題があります。つまり、次のセレクタは私にエラーを与えている:私はクラスebook_documentを持つ要素の子ではないすべての<a>の要素を取得しようとしています擬似セレクタなしの子を使用できません

a:not(.ebook_document *) 

。また、これは失敗します。

a:not(.ebook_document > *) 

だけでなく、この:ない:notセクション正常に動作して、自分でセレクタを置く

a:not(.ebook_document, *) 

を。私は何を間違えたのですか?

+2

:_simple_セレクタを取るだけではなく。プラス、https://developer.mozilla.org/en/docs/Web/CSS/:not- _ "このセレクタは1つの要素にのみ適用され、すべての祖先を除外するためには使用できません。たとえば、' body:not(テーブル内のリンクにはまだ適用されます。はセレクタの:not()部分と一致します。 "_使用することはできません。 – CBroe

+0

@CBroe ok、それは私の質問に答えます。ありがとうございました。 – Markasoftware

答えて

3

simpleセレクタを取るだけではありません。 (。今のところ、CSS 4はselector listにあることを拡張)

Plusは、https://developer.mozilla.org/en/docs/Web/CSS/:not - あなたが欲しい

This selector only applies to one element; you cannot use it to exclude all ancestors. For instance, body :not(table) a will still apply to links inside of a table, since will match with the :not() part of the selector."

は使用できません:ありません。

あなただけの他の方法の周りにそれについて移動することができます - 形式のすべての「通常」のリンクをして、.ebook_document a { ... }

を使用して、ターゲット要素(複数可)内のリンクに異なる書式を適用だから意味ではなく、適用しませんそれらのリンクのスタイルを上書きする必要があります。

(あるいは、実際にスタイルをリセットするためにinitial/allを使用しますが、そのためのブラウザのサポートは、まだ私の知る限り欠けている。)

0

ええと:not(.ebook_document)?私はそれをテストしなかったが、それは.ebook_documentタグを持たないすべてのタグを参照する必要があるようだ。

+0

.ebook_documentの子ではないすべてのタグが、自分自身に.ebook_documentクラスを持っていなくても欲しいです。 – Markasoftware

関連する問題