CSSの否定疑似クラス「:not()」で、複数のclassを指定する場合の使い方
Post on:2019年7月30日
:not()セレクタは非常に便利です。例えば、リストの各アイテムの区切りにボーダーをつける時、まずはli要素にボーダーを指定し、最後のli要素にだけボーダー無しを上書きで指定する、そんな時に使用すると簡単に指定することができます。
:not()セレクタは通常一つのclassしか指定できませんが、複数のclassを指定する場合の使い方を紹介します。
CSS :not() with Multiple Classes
下記は各ポイントを意訳したものです。
※当ブログでの翻訳記事は、元サイト様にライセンスを得て翻訳しています。
:not()セレクタとは、特定のclassがない要素を選択する否定疑似クラスです。
1 2 3 |
body:not(.home) { } |
bodyのclassが、.homeではない場合にスタイルを適用します。
避けたいclassが複数ある場合は、どのように記述すればよいでしょうか?
:not()ではandやorのような論理演算子は使用できませんが、連鎖させることができます。これは事実上andと同じです。
1 2 3 |
body:not(.home):not(.away):not(.page-50) { } |
bodyのclassが、.home, .away, .page-50ではない場合にスタイルを適用します。
:not()セレクタは自身は詳細度に影響を与えませんが、内部には追加されます。従って、:not(.foo)は.fooと同じ重みになります。
:not()セレクタのサポートブラウザは、下記の通りです。
:not()について、さらに知りたい方は下記記事もどうぞ。
sponsors