CSS 詳細度計算器

CSSセレクターの詳細度を(a, b, c)で即座に計算。複数セレクターの比較、ID・クラス・要素の内訳を可視化。無料・ブラウザ完結。

100% クライアントサイド データはブラウザ外に出ません 無料 · 登録不要
Comma-separate multiple selectors to compare

使い方

  1. 入力欄にCSSセレクターを入力します(例: #nav .item:hover)。
  2. 詳細度タプル (a, b, c) と色分けされた内訳が即座に表示されます。
  3. 複数セレクターを比較するにはカンマで区切ります: #nav .item, .item:hover
  4. 各結果のコピーボタンでタプルをクリップボードにコピーできます。

(a, b, c) タプルの読み方

  • a — ID: #id セレクター1つにつき +1。
  • b — クラス / 属性 / 疑似クラス: .class[attr]:疑似クラス 1つにつき +1。
  • c — 要素 / 疑似要素: タグ名または ::疑似要素 1つにつき +1。

左から順に比較します。最初に異なる列が勝敗を決めます。(1,0,0) は常に (0,99,99) に勝ちます。

よくある例

  • *(0, 0, 0)
  • p(0, 0, 1)
  • .class(0, 1, 0)
  • #id(1, 0, 0)
  • #id .class:hover(1, 2, 0)
  • div > p + span::before(0, 0, 4)

FAQ

CSS詳細度とは何ですか?

CSS詳細度とは、同じ要素に複数のルールが適用された場合にどのルールが優先されるかを決定する仕組みです。(a, b, c)の3要素で表し、aはIDセレクター数、bはクラス・属性・疑似クラス数、cは要素型・疑似要素数を表します。

詳細度はどのように計算されますか?

a = IDセレクター数(#id)。b = クラス(.class)・属性([attr])・疑似クラス(:hover)の数。c = 要素型(div, span)・疑似要素(::before)の数。ユニバーサルセレクター(*)とコンビネータ(+, >, ~)は0です。

複数のセレクターを比較するには?

カンマで区切って入力してください。ツールが各詳細度タプルを並べて表示します。左から順に比較し、最初に異なる列の値が大きい方が優先されます。

:not()・:is()・:has()はどう扱われますか?

:not()と:is()は引数の中で最も詳細度の高いセレクターを使用します。:where()は常に0です。:has()は引数の詳細度を使用します。このツールはこれらの疑似クラスを単純化して解析します。

インラインスタイルや!importantは含まれますか?

インラインスタイル(style属性)は(a, b, c)より上位で、!importantはすべてを上書きします。このツールはセレクターの詳細度のみを計算します。