devtools-hub

CSS Stacking Inspector

z-index とスタッキングコンテキストをツリーで可視化

CSS開発者向け

CSSコードを貼り付けると z-index とスタッキングコンテキストをツリー表示。どの要素がスタッキングコンテキストを生成しているか(position+z-index / opacity / transform / filter 等)を理由付きで表示し、同一コンテキスト内で z-index が重複している競合箇所を ⚠ でハイライトします。

広告

CSS Stacking Inspector

Ctrl+Enter で解析

Features

  • CSSコードからセレクター・z-index・positionを自動抽出
  • スタッキングコンテキスト生成条件を検出(position+z-index / opacity / transform / filter / will-change)
  • 要素をインデントツリーで表示(親子関係を可視化)
  • 各要素に生成理由をラベル表示
  • 同一コンテキスト内 z-index 競合を ⚠ でハイライト
  • サンプルCSS読み込み・結果クリップボードコピー
広告

CSSのz-indexとスタッキングコンテキスト — 重なり順の仕組みを理解する

z-indexが効かない・意図しない要素が前面に出てくる・モーダルが隠れてしまう、といった問題の多くはCSSのスタッキングコンテキストの理解不足によって起こります。重なり順のルールを正しく把握することでこれらの問題をスムーズに解決できます。

z-indexが効かない理由

z-indexは静的配置(position: static)の要素には効きません。position: relative / absolute / fixed / sticky のいずれかを設定した要素にのみ有効です。また、z-indexの値は同じスタッキングコンテキスト内での比較になるため、親要素のスタッキングコンテキストが分離していると子要素のz-indexを大きくしても他のコンテキストの要素より前面に出せません。

スタッキングコンテキストが生成される条件

新しいスタッキングコンテキストは①position + z-index(auto以外)、②opacity(1未満)、③transform(none以外)、④filter(none以外)、⑤will-change、⑥isolation: isolate などで生成されます。AnimationやTransitionの途中でも生成されることがあります。CSSライブラリやUIコンポーネントが予期せずコンテキストを作っていることもあります。

要素の重なり順のルール

スタッキングコンテキスト内の重なり順は①z-indexが負の要素(最背面)、②ブロックレベル要素、③フローティング要素、④インライン要素、⑤z-index: 0の要素、⑥z-indexが正の要素(最前面)の順です。同じz-indexでは後から書かれた要素が前面に来ます。

CSS Stacking Inspectorの活用方法

CSS Stacking InspectorにHTMLコードを貼り付けると、スタッキングコンテキストのツリー構造・各要素のz-indexとコンテキストの関係・潜在的な競合箇所をビジュアルで確認できます。モーダル・ドロップダウン・ツールチップが意図どおりに重なっているかのデバッグに役立ちます。

Related Tools

base64-studio

Base64 エンコード & デコード

開発者向けテキストエンコード

使ってみる →

BOOTH

JSON Studio

JSON フォーマッター & バリデーター

JSON開発者向けフォーマッター

使ってみる →

BOOTH

color-deck

カラーコード変換 & パレット保存

カラーデザイン開発者向け

使ってみる →

BOOTH

このツールを共有する