メインコンテンツへ移動
ToolShed
検索
⌘
K
人気
新着ツール
?
読み込み中...
🏠
探す
☰
カテゴリ
🔥
人気
?
について
ホーム
/
デザイン・CSS
/
CSS詳細度計算機
▧
CSS詳細度計算機
NEW
design/css-specificity-calculator
CSSセレクタの詳細度(Specificity)をID・クラス・要素別にスコア計算。
最終更新日
2026-07-03
・ by
yuzlrin
このツールでできること
CSS詳細度計算機では、CSSセレクタの詳細度(Specificity)をID・クラス・要素別にスコア計算。
関連する観点として CSS詳細度、specificity、セレクタ優先度 を確認し、結果をコピーして別の作業に使えます。
CSSセレクタ (1行1つ)
h1 .title #header .nav a .btn.primary:hover div > p.intro
#header .nav a
1
1
1
最強
.btn.primary:hover
0
3
0
div > p.intro
0
1
2
.title
0
1
0
h1
0
0
1
a
ID
b
クラス/属性/疑似クラス
c
要素/疑似要素
使い方
テキストエリアに比較したいCSSセレクタを1行1つずつ入力します(初期状態でも5つのサンプルセレクタが入っています)。
入力するたびに各セレクタの詳細度が(ID, クラス/属性/疑似クラス, 要素/疑似要素)の3つの数字で自動計算されます。
一覧は詳細度が高い順に自動で並び替えられ、最も強いセレクタに「最強」のラベルが付くので、どちらが優先されるか一目で分かります。
属性セレクタ([disabled]など)や疑似クラス(:hoverなど)は2つ目の数字(クラス相当)にカウントされる点を、実際のCSSと照らし合わせながら確認します。
入力例・出力例
INPUT
nav#primary .menu li a:hover
OUTPUT
(1, 2, 3)
IDが1つ、クラスと:hover疑似クラスで2つ、nav・li・aの要素で3つとカウントされます。
INPUT
button[disabled]
OUTPUT
(0, 1, 1)
属性セレクタ[disabled]はクラスと同じ重み(2つ目の数字)としてカウントされます。
INPUT
:is(.foo, #bar)
OUTPUT
(1, 0, 0)
:is()は引数のうち最も詳細度が高いもの(この場合はID指定の#bar)の値を採用します。:where(.foo)なら常に(0, 0, 0)になります。
よくある利用シーン
同じ要素に複数のCSSルールが当たっていて、どちらのスタイルが優先されるか原因を切り分けたいとき。
コンポーネントのCSS設計時に、意図せず詳細度が高くなりすぎているセレクタがないか一覧で比較したいとき。
属性セレクタや疑似クラスを使ったセレクタの詳細度が、クラスと同じ重みで計算されることを確認したいとき。
リファクタリング前に既存のセレクタをまとめて貼り付け、詳細度順に並べて整理の優先順位を決めたいとき。
結果確認のポイント
生成したCSSや設定値を実際のコンポーネントに入れ、レスポンシブ表示も確認してください。
CSS詳細度、specificity、セレクタ優先度の観点で、入力内容と出力内容がずれていないか見直してください。
コピーした結果を利用先に貼り付けたあと、改行や記号が変わっていないかも確認してください。
注意点
ブラウザ差や既存CSSとの競合があるため、公開前に対象環境で確認してください。
結果を公開・送信する前に、用途に合う形式かを必ず確認してください。
データの扱い / プライバシー
CSS詳細度計算機の主要な処理はブラウザ内で実行されます。
入力内容を保存するアカウント機能はなく、ページを閉じると作業内容は手元のブラウザから離れます。
本番の秘密情報や個人情報を扱う場合は、入力前に必要性を確認してください。
FAQ
よくある
質問
セレクタの詳細度を (a,b,c) 形式で計算しますか?ID・クラス・要素の重みはどう扱われますか?
はい。ID数=a、クラス・属性・擬似クラス数=b、要素・擬似要素数=c として (a,b,c) の3値で表します。例えば「#nav .item a」は ID1・クラス1・要素1 で (1,1,1) になります。比較は a→b→c の順で行われ、上位の桁が大きい方が優先されます。
!important やインラインスタイルは詳細度計算に含まれますか?
!important は詳細度の比較より優先される別レイヤーの仕組みのため、(a,b,c) の値そのものには含まれません。インラインの style 属性はセレクタの詳細度より強く、(a,b,c) の左にもう一段上の桁を持つものとして扱われます。本ツールはセレクタ部分の (a,b,c) を計算します。
:not() や :is()、:where() の詳細度はどう数えますか?
:not() と :is() は内部で最も詳細度の高い引数の値を採用し、:not()/:is() 自体はカウントしません。:where() は常に詳細度0として扱われます。これらの擬似クラスを使うと意図せず詳細度が上がる/下がることがあるため、計算結果で確認できます。
詳細度が同じセレクタはどちらが適用されますか?
(a,b,c) がまったく同じ場合は詳細度では決着がつかず、CSS のソース順で後に書かれたルールが適用されます(カスケードの後勝ち)。本ツールで詳細度が同点だと分かったら、記述順やセレクタの設計を見直す判断材料になります。
関連ツール
border-radiusジェネレーター
CSSのborder-radiusをGUIで視覚的に調整。四隅を連動または個別に動かし、1値または4値のCSSを生成する。
Box Shadow生成
CSS box-shadowをGUIで直感的に作成。多重シャドウ、ニューモーフィズム、テキストシャドウにも対応。
Material Elevation
Material Elevationの代表レベルを、単層box-shadow値の固定表で確認できます。
accent-colorが効く要素
CSS accent-colorが反映されるフォーム部品4種を、HTML要素名と用途で確認できます。
CSS角度単位
CSSで使うdeg・grad・rad・turnの角度単位と、1周あたりの基準値を一覧表示します。
animation-direction
CSS animation-directionのnormal・reverse・alternate・alternate-reverseを用途付きで確認できます。
animation-fill-mode
CSS animation-fill-modeの4値を、アニメーション前後のスタイル保持ルールとして確認できます。
CSSアニメーション生成
CSSアニメーションのキーフレームを視覚的に作成・プレビュー。イージング関数の選択、コードのコピーまでワンストップ。