CSSのz-indexの確認や管理を便利にする方法

何かと管理が面倒で、ややこしいことになりがちなz-indexですが、今回はそんなz-indexを確認したり管理するのに役立つ情報をまとめておきます。
Chrome拡張機能:DevTools z-index
![[z-index]タブ](https://webrandum.net/mskz/wp-content/uploads/2020/05/image_2-10-1024x557.png)
Chrome拡張機能のDevTools z-indexを使うと、z-indexが設定されている要素とその値がリストで表示されます。
インストールするだけで[Elements]に[z-index]タブが追加され、そこから並びと設定されてある値まで分かります。
Chrome開発者ツール:Layers
Chrome開発者ツールに元から備わっている機能で、ウェブサイト上のz-indexの関係を立体的に確認できます。
使い方は、Chrome開発者ツールを開いて、右上の3点をクリックして[More tools]→[Layers]で新しく「Layers」タブが追加されます。

あとはその「Layers」タブへ移動して、回転アイコンを選択してドラッグすると、サイト上を立体的に見れます。

z-indexの値が大きくなるほど、距離は離れるようになっているので、どの要素の上にどの要素が来ているのかも視覚的に分かりやすく確認できます。
マップで管理する
SCSSのマップ機能を使うと、簡単にz-indexの管理ができます。
// z-indexの並び順
$z-list: (
header,
nav,
pulldown,
child
);
// 関数の定義
@function z($name) {
@return index($z-map, $name);
}
// 関数の使用例
.header {
z-index: z(header); // 1
}
.child {
z-index: z(child); // 4
}マップ内の順番がそのままz-indexの値になります。
並びを変えたいときは$z-listのマップ内の順を変えるだけで済むので、管理がかなりラクになります。
さらに入れ子などにも対応した管理方法も下記で紹介されています。


Visual Studio Codeのマルチカーソル機能で文字操作を一括で行う
常時SSL化の設定をしたのに「保護された通信」が表示されない時はパスにHTTPが残っているのかも?
疑似クラスの:hoverと:activeのスマホでの挙動の違い
pointer-eventsプロパティでクリックイベントを無効化にする|気になるCSSプロパティ
Nuxt.jsでページを作成・追加する方法|Nuxt.jsの基本
SourceTreeでBacklogのGitを使うときに、権限エラーになってしまう場合の解決法
ブログに見出しを設置できるjQueryプラグイン「TOC | jQuery Table of Contents」
Vue CLIのtitleタグやmetaタグの設定方法
HTTP/2が設定されているはずなのに、ブラウザ上でHTTP/1.1になってしまう場合はセキュリティソフトを確認
CSSで::placeholderにスタイルを設定する方法
AirPodsで片耳を外しても再生が止まらないようにする方法
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
Obsidianを使った「自己流PKM」で行う知識トレーニング
クリップボード履歴を複数一括でペーストしたり、コピーした順にペーストするアプリ「Paste」
Mac向けのミニマルでお洒落なデザインのGitクライアント「Gitfox」
コーダー目線で理解するIllustratorのアピアランス機能
MacのターミナルアプリはiTerm2で決まり!!オススメの設定と基本的な機能まとめ
FigmaのAuto Layout入門|繰り返しのレイアウトやコンテンツに応じて横幅可変するボタンをラクに作る
Visual Studio Codeの基本|概要やインストールから日本語化など最低限の設定方法
2019年時点で使っている便利なAlfredのWorkflowまとめ
Alfredのランチャー(メインウインドウ)が邪魔で後ろが隠れてしまうときの対処法
毎日必ず行っている操作を少しでもラクにする!Macのカーソル操作関連の小技