CSS疑似クラス :is() の実用例と活用パターン


CSS疑似クラス :is() の実用例と活用パターン

はじめに

CSSの:is()擬似クラスは、複数のセレクタをまとめて指定できる便利な構文です。コードを短く保ち、メンテナンス性を高める効果があります。本記事では、実務で役立つ具体的な利用例を紹介します。

基本構文

:is(selector1, selector2, selector3) {
  /* スタイル */
}
  • 複数のセレクタを一括指定できる
  • ネストや長いセレクタの記述を省略可能

実用例

1. 複数の見出しスタイルをまとめる

:is(h1, h2, h3) {
  font-family: "Noto Sans JP", sans-serif;
  margin-bottom: 1rem;
}

→ 見出しタグごとに同じ指定を繰り返す必要がない。

2. ボタンのホバー・フォーカス時の共通デザイン

button:is(:hover, :focus) {
  background: #2c7be5;
  color: #fff;
}

→ ホバーとフォーカスの状態をまとめて指定できる。

3. ナビゲーション内の特定要素

nav :is(a, button) {
  padding: 0.5rem 1rem;
  text-decoration: none;
}

→ ナビゲーション内のリンクとボタンを共通スタイルに。

4. 長いセレクタの簡略化

.article :is(h2, h3, h4) + p {
  margin-top: 0;
}

.article h2 + p, .article h3 + p, .article h4 + p をまとめられる。

注意点

  • 古いブラウザ(特にIE)では未対応
  • 対応状況を確認して使うことが重要

まとめ

:is()を活用すれば、冗長になりがちなCSSをシンプルにできます。特に複数の状態や要素に同じスタイルを当てたい場合に便利です。今後のスタイル設計では、積極的に取り入れることで可読性と保守性が向上します。