CSS 変数インスペクター

CSS のカスタムプロパティ定義と var() 参照をマッピングし、未定義、フォールバックの使用、重複宣言を確認します。

ブラウザ内でローカルに実行
このツールの処理はすべてブラウザ内で行われます。KivTools が入力内容をアップロード・保存したり、外部 API に送信したりすることはありません。
CSS ソース定義と参照はテキストとして解析され、このページにはスタイルシートは適用されません。

スタイルシートのカスタムプロパティ定義と var() 参照を確認する手順

スタイルシートを貼り付けると、ページはそれをテキストとして読み、定義されているカスタムプロパティ、var() で参照されているトークン、そして両者のずれを一覧にします。定義も有効なフォールバックもない参照や、貼り付けた範囲で使われていない定義がそれです。

コメントと引用符で囲まれた文字列は対象外なので、コメントアウトしたルールや content 内の "var(--x)" を実際の使用として数えません。ブロック最後の宣言はセミコロンがなくても読み取ります。

  1. 左の入力欄に CSS を貼り付けるか、サンプルを読み込むを押します。未定義のトークン、未使用のトークン、フォールバックを含む例が入ります。
  2. 変数を検査を押すと、カスタムプロパティマップにトークンごとのカードが並び、レポートに値と使用回数が表示されます。
  3. 確認項目を読みます。未定義の参照は定義かフォールバックが必要で、未使用の定義は残骸の可能性があり、2 回定義されたトークンは意図的な上書きかもしれません。
  4. コピーでレポートを取り出し、ダウンロードで css-variables-report.txt として保存できます。
  5. クリアを押すと、入力欄・マップ・レポートがまとめて空になります。

レポートと指標が数えるもの、表示される指摘、そしてテキスト解析では分からないこと

定義と参照の数え方

カスタムプロパティとは、名前が 2 つのハイフンで始まる宣言で、場所は問いません。:root でも、クラスの中でも、メディアクエリの中でも同じです。値は最初のセミコロンか閉じ波括弧までなので、ブロック最後の宣言はセミコロンがなくても読み取れ、rgb(0, 0, 0) のように括弧を含む値もそのまま扱います。

参照は var() 呼び出しです。トークン名は大文字と小文字を区別するため、--Brand と --brand はブラウザと同じく別のトークンです。関数名は区別しないので VAR(--x) も参照として数え、ほかの呼び出しのフォールバック内に書かれた var() も独立して記録します。フォールバックは内容がある場合だけ有効です。var(--x,) は --x が無いと宣言が無効になるため、フォールバックなしの呼び出しとして扱います。

指摘と指標の読み方

指標は定義数・参照数・確認項目数を示し、マップはトークンごとに、定義された回数、それを参照する var() の数、そのうち有効なフォールバックを持つものの割合を表示します。貼り付けた範囲で参照されていない定義は未使用として、2 つのブロックで宣言されたトークンは上書きの可能性として報告され、どちらも判断の範囲が貼り付けたテキストであることを文面で示します。

定義もフォールバックもない参照だけが、ブラウザで必ず問題になる指摘であり、エラーとして表示されます。カスタムプロパティが 1 つも無い CSS も「合格」とはしません。すべてが定義済みだと述べる代わりに、見つからなかったことを伝えます。

テキスト解析では分からないこと、端末内で完結すること

解析はあえてテキストベースです。セレクタの適用範囲、継承、カスケードは解決せず、実行時にブラウザが使う値も計算しません。別のスタイルシートで定義されたトークン、JavaScript が注入するトークン、デザインシステムが配布するトークンは、ここでは未定義として表示されます。未使用とは、この貼り付けたテキスト内で未使用という意味です。

処理はすべてブラウザ内で行われ、貼り付けた内容は送信されず、それを理由にした通信も発生しません。オフラインでも動作します。コピーとダウンロードはレポートができるまで動作しないため、空のクリップボードや 0 バイトのファイルを結果と誤認することはありません。

最近使ったツール: