[CSS] :not()セレクタ複数指定する方法

2 min read

状況

以下のようなページネーションがある。

<ul class="pagination">
  <li class="first"></li>
  <li class="previous"></li>
  <li>01</li>
  <li>02</li>
  <li>03</li>
  <li class="active"></li>
  <li></li>
  <li class="last"></li>
</ul>

first previous active last以外の要素にスタイルを適応したい。こういう場合、:not()セレクタを使って指定を除外するが、複数指定する場合も同様に:not()セレクタを使う。

使用方法

Selectors Level 3 では、:not(.first, previous)ように続けて指定できない。
以下のように:not()を繋げて指定する必要がある。

&:not(.first):not(.next):not(.previous):not(.last):not(.active) {
  /* style */
}

Selectors Level 4 では、リスト形式を入れ込むことが出来る。

&:not(.first, .next, .previous, .last, .active) {
  /* style */
}

https://drafts.csswg.org/selectors/#negation

このページをシェアする

Related Articles

[Vite] CSSだけをビルドする方法

背景 / Vite をインストール / 仕様

[CSS] ダークモードを有効化しない方法

背景 / 方法 / 参考

CSS in JSとは何か

想定読者 / そもそも JS フレームワーク(React、Vue.js)を採用する理由とは何か / 「命令的 UI」 と 「宣言的 UI」 / 「命令的 UI」 VS 「宣言的 UI」 / CSS in JS とは / CSS in JS ライブラリ / Emotion の使い方 / 利用するメリット / 利用するデメリット / 関連 / Footnotes