CSSの否定疑似クラス「:not()」で、複数のclassを指定する場合の使い方

:not()セレクタは非常に便利です。例えば、リストの各アイテムの区切りにボーダーをつける時、まずはli要素にボーダーを指定し、最後のli要素にだけボーダー無しを上書きで指定する、そんな時に使用すると簡単に指定することができます。

:not()セレクタは通常一つのclassしか指定できませんが、複数のclassを指定する場合の使い方を紹介します。

サイトのキャプチャ

CSS :not() with Multiple Classes

下記は各ポイントを意訳したものです。
※当ブログでの翻訳記事は、元サイト様にライセンスを得て翻訳しています。

:not()セレクタとは、特定のclassがない要素を選択する否定疑似クラスです。

bodyのclassが、.homeではない場合にスタイルを適用します。

避けたいclassが複数ある場合は、どのように記述すればよいでしょうか?

:not()ではandやorのような論理演算子は使用できませんが、連鎖させることができます。これは事実上andと同じです。

bodyのclassが、.home, .away, .page-50ではない場合にスタイルを適用します。

:not()セレクタは自身は詳細度に影響を与えませんが、内部には追加されます。従って、:not(.foo)は.fooと同じ重みになります。

:not()セレクタのサポートブラウザは、下記の通りです。

サイトのキャプチャ

:not()のサポートブラウザ

:not()について、さらに知りたい方は下記記事もどうぞ。

sponsors

top of page

©2019 coliss