E:not(s)
セレクタ s に一致しない E 要素に対してスタイルが適用されます。
:not(s) 否定擬似クラスは、引数として(否定擬似クラス自体は除く)シンプルなセレクタを取る関数表記です。 否定擬似クラスは、その引数で表されていない要素を表します。
:not(:not(...)) のような入れ子は無効になります。また、擬似要素は :not() の引数に有効ではありません。
- button:not([disabled])
- HTML内の無効になってない全ての button 要素にマッチします。
- *:not(foo)
- foo 要素でない全てにマッチします。
- html|*:not(:link):not(:visited)
- リンクを除いた HTML 要素全てにマッチします。
デフォルトの名前空間宣言は、引数がユニバーサルセレクタやタイプセレクタでない限り、否定擬似クラスの引数には影響しません。
- *|*:not(*)
- デフォルトの名前空間が "http://pata2.jp/"と仮定して、その名前空間に含まれない全ての要素にマッチします。
- *|*:not(:hover)
- 名前空間に関わらず、hover 状態でないどんな要素にもマッチします。(※1)
(※1) デフォルト名前空間にあり、hover 状態ではない要素だけに限定しません。 また、デフォルト名前空間にない要素が hover 状態にあるとき、その要素はマッチしません。
:not() 擬似クラスは、無用なセレクタを書くこともできます。
- :not(*|*)
- 全く要素を表していません。
- foo:not(bar)
- foo と同等で、foo より詳細度が高いです。
example
p:not(.abc) { color: deeppink; font-size: 32pt; }
source
<p class="abc"> class="abc" </p> <p> class none </p>
display
class="abc"
class none
※ E、s、foo の斜体は仮の名前です。