使い方
- セレクターに、スタイルシートに書くとおりのセレクターを入力します。
- 2つ目のセレクター(任意)に別のセレクターを入力すると、2つを比べられます。空のままでも構いません。
- 1つ目のセレクターの詳細度(a, b, c)を読みます。2つ入力した場合は、優先されるルールも確認します。
- 数えた部分の表で、各セレクターのどの部分がどの数字になったかを確かめます。
3つの数字の数え方
Selectors Level 3勧告(英語)は、セレクターを3つの列で数えると定めています。このツールは、数字を左から順に比べます。最初にa、次にb、最後にcです。全称セレクターの*と、>や+のようなコンビネーターは数えません。
- aはIDセレクターの数です。例:#nav。
- bはクラスセレクター(例:.active)、属性セレクター(例:[href])、疑似クラス(例::hover)の数です。
- cは要素セレクター(例:liやa)と、疑似要素(例:::before)の数です。
引数をもつ疑似クラス
:is()、:not()、:has()は、その引数のうちで最も詳細度の高いセレクターとして数えられます。そのため、:is(#a, .b)は(1, 0, 0)です。:where()は何も数えません。:nth-child()は、疑似クラス1つと、「of S」のリストの中で最も詳細度の高いセレクターとして数えられます。そのため、:nth-child(even of li, .item)は(0, 2, 0)です。これらの規則はSelectors Level 4の草案(英語)によるもので、草案は編集中の版であり、変わることがあります。
このツールがしないこと
- ::part(x)のように引数をもつ疑似要素は、疑似要素1つとして数えます。引数は読みません。
- &によるネスティングは読みません。また、1つのボックスに1つのセレクターを入力する仕様のため、カンマで区切られたリストは扱いません。
- スタイルシートは見えないため、詳細度が同じときは後のルールが優先すると表示し、順序の判断は利用者に任せます。
計算例:ナビゲーションバーのリンク
1つ目のセレクター#nav li.active > a:hoverには、IDが1つ(#nav)あります。クラスと疑似クラスは2つ(.activeと:hover)、要素セレクターも2つ(liとa)です。詳細度は(1, 2, 2)です。2つ目のセレクター#nav aは、IDが1つと要素セレクターが1つなので、詳細度は(1, 0, 1)です。aは同じで、bとcは1つ目の方が高いため、1つ目のセレクターが優先されます。
| セレクター | a | b | c |
|---|---|---|---|
| #nav li.active > a:hover | 1 | 2 | 2 |
| #nav a | 1 | 0 | 1 |
よくある質問
IDはなぜ最初の列で数えられるのですか?
このツールは列を左から順に比べるので、IDの列aが最初に決まります。IDが1つ多いセレクターはaが高くなり、その場合はbとcを見ることはありません。
ルールの順番は関係がありますか?
詳細度が同じ2つのセレクターの場合だけ関係します。CSSカスケード Level 4仕様(英語)は、その場合に文書の中で最後の宣言が効くと定めているので、後のルールが優先されます。
:not(#a)はなぜ詳細度を加えるのですか?
:not()という疑似クラス自体は数えませんが、その引数は数えます。Selectors Level 3の例、#s12:not(FOO)は(1, 0, 1)です。#s12のIDが1つと、引数FOOの要素セレクターが1つです。
全称セレクターやコンビネーターは何か加えますか?
いいえ。全称セレクターは無視され、>、+、~のようなコンビネーターも数えません。Level 3の節にある例の*は、詳細度が(0, 0, 0)です。
このツールはインラインスタイルや!importantを含みますか?
いいえ、このツールは1つのセレクターを数えるだけです。カスケードは詳細度より前に由来と重要度を比べるので、!importantを付けたルールやインラインスタイルは、セレクターの点数に関係なく優先されることがあります。比べるのは、同じ重要度で同じプロパティを指定する2つのセレクターだけにしてください。
入力したセレクターはどこかに送られますか?
いいえ。解析はブラウザの中で行われ、入力した内容は保存されず、当サイトのサーバーにも送られません。結果は、スタイルシートを変える前に確かめてください。
出典
- W3C(英語):Selectors Level 3, Calculating a selector's specificity
- W3C(英語):Selectors Level 4(Editor's Draft), specificity rules
- W3C(英語):CSS Cascade Level 4, cascade sorting order
数値と文章の最終確認日:2026年11月12日木曜日。