CSSセレクターリファレンス

ライブ例と詳細度スコア付きで、すべてのCSSセレクターを閲覧、検索、テスト。

このツールについて

CSSセレクターリファレンスは、モダンブラウザで利用可能なすべてのCSSセレクターの包括的なインタラクティブガイドです。セレクターの仕組みを学ぶ初心者から、めったに使わない擬似クラスを調べる経験豊富な開発者まで、このツールは各セレクターの構文、説明、詳細度スコア、サンプルコード、ブラウザサポートに即座にアクセスできます。

すべての処理はブラウザ内で完全に実行されます。データはサーバーに一切送信されず、ライブプレビューはサンドボックス化されたiframe内で実行されるため、任意のHTMLとCSSの組み合わせを安全に試すことができます。

リファレンスは7つのカテゴリをカバーしています:基本セレクター(タイプ、クラス、ID、ユニバーサル、グループ化)、コンビネーター(子孫、子、隣接兄弟、一般兄弟)、属性セレクター(存在、等値、前方一致、後方一致、部分一致、単語一致)、擬似クラス(hover、focus、not、is、has、whereなど)、擬似要素(before、after、first-line、first-letter、placeholder、selection)、構造擬似クラス(nth-child、first-child、last-of-type、empty、root)、UIステート擬似クラス(checked、disabled、valid、invalid、required、read-only)。

内蔵の詳細度比較ツールでは、2つのセレクターを入力してカスケードでどちらが勝つかを即座に確認できます。これはCSSの詳細度の競合をデバッグする際に非常に役立ちます。すべてのセレクターエントリには「ライブで試す」ボタンがあり、サンプルHTMLとCSSをインタラクティブプレビューエリアに読み込んで、すぐに変更・実験できます。

複雑なセレクターの詳細度を計算する必要がある場合は、CSS詳細度計算ツールと組み合わせてください。CSSプロパティの視覚的な実験には、FlexboxプレイグラウンドCSS変数ジェネレーターをお試しください。

使い方

  1. セレクターリストを閲覧するか、検索バーを使用して名前、構文、説明から特定のセレクターを検索します。
  2. カテゴリフィルターボタン(基本、コンビネーター、属性など)をクリックしてリストを絞り込みます。
  3. セレクター行をクリックして詳細を展開:説明、HTMLサンプル、CSSサンプル、詳細度、ブラウザサポート。
  4. コピーボタンをクリックしてセレクター構文をクリップボードにコピーします。
  5. ライブで試すをクリックして、セレクターのサンプルを画面下部のインタラクティブプレビューに読み込みます。
  6. プレビューエリアのHTMLCSSを編集して、リアルタイムでセレクターを実験します。
  7. 詳細度比較ツールで2つのセレクターを入力し、どちらが勝つかを確認します。
  8. Ctrl+Shift+Cで最初に表示されているセレクターをすばやくコピーできます。

人気のCSSセレクター例

すべてのCSSセレクター例を見る →

よくある質問

データは安全ですか?

はい。すべての処理はブラウザ内で完全に実行されます。ライブプレビューはサンドボックス化されたiframe内で実行されます。データはサーバーに一切送信されず、入力に対する分析も追跡されません。

CSSの詳細度とは何ですか?

CSSの詳細度は、複数のルールが同じ要素を対象とする場合にどのCSSルールが適用されるかを決定するスコアリングシステムです。タプル(ID、クラス、要素)として計算されます:IDセレクターが最も高い重みを持ち、次にクラスセレクター、属性セレクター、擬似クラス、そして要素セレクターと擬似要素が続きます。ユニバーサルセレクター(*)と:where()の詳細度はゼロです。

詳細度タプル(a, b, c)は何を意味しますか?

3つの数値は以下を表します:a = IDセレクターの数、b = クラスセレクター、属性セレクター、擬似クラスの数、c = タイプ(要素)セレクターと擬似要素の数。(1, 0, 0)のセレクターは常に(0, 10, 10)に勝ちます。IDの方が優先度が高いためです。

すべてのブラウザでサポートされているCSSセレクターはどれですか?

基本セレクター(タイプ、クラス、ID)、コンビネーター(子孫、子、隣接兄弟)、ほとんどの属性セレクター、:hover、:focus、:first-childなどの一般的な擬似クラスは全ブラウザでサポートされています。:has()、:is()、:where()、:focus-visibleなどの新しいセレクターはモダンブラウザ(Chrome 88+、Firefox 78+、Safari 14+)が必要です。

:has()セレクターはどのように機能しますか?

:has()擬似クラスは、引数に一致する子孫を少なくとも1つ含む要素を選択します。例えば、div:has(img)はimg要素を含む任意のdivを選択します。子に基づいて親をスタイリングできるため、「親セレクター」とよく呼ばれます。Chrome 105+、Firefox 121+、Safari 15.4+でサポートされています。

:is()と:where()の違いは何ですか?

:is()と:where()はどちらもセレクターリストを受け取り、いずれかのセレクターに一致する要素にマッチします。主な違いは詳細度です::is()は最も詳細度の高い引数の詳細度を取りますが、:where()の詳細度は常にゼロです。オーバーライドしやすいスタイルが必要な場合は:where()を使用してください。

詳細度比較ツールは複雑なセレクターに使えますか?

はい。ツールはセレクターを解析し、ID、クラス、属性、擬似クラス、要素、擬似要素のコンポーネントに基づいて詳細度を計算します。:not()、:is()、:has()、:where()も正しく処理します。非常に複雑なエッジケースのセレクターでは、計算が近似値になる場合があります。

関連ツール