超便利!CSSでレイヤーのように重ねて表示する z-index

cssでz-indexサムネイル






WEBサイト上で要素の重なりや前後関係を調整したいけど方法が…
というそこのあなた!
そんな悩みはCSSのz-indexプロパティを使えばスッキリ解決しますよ!

今回は、要素の重なりを指定してレイヤーのような表現ができる z-indexプロパティについて解説します。

z-index とは

positionプロパティを使用してレイアウトを調整すると、重なり合った要素が思ったよう重なり方にならない時があります。

HTMLは後から記述した要素が手前に配置されるので、どうしても先に記述した要素が背面に配置されてしまいます。そんな場合でも Z-index を使用すると、前後関係を自由に変更する事ができます。

画面に対して横方向がX軸、縦方向がY軸、前後の重なりがZ軸で、z-index は画面上での重なりを調整するプロパティだと考えてください。

z-indexの概念

z-indexの値

z-index プロパティに入る値は2種類あります。

Z-index : auto;

初期値は autoなので、通常の状態です。
autoを指定すると、親要素と同じ階層に配置されます。

z-index : 数値;

0を基準とした整数で重なりを指定し数値が多いほど手前、少ないほど奥に配置されます。
0~100までの数値が指定でき、マイナスの値も入力可能です。




z-indexで要素の重なりをコントロール

positionプロパティを使って要素を重ね z-indexプロパティを指定しなかった場合と、指定した場合のサンプルをそれぞれ比べてみます。HTMLは以下の内容です。

z-indexを使用しない場合

See the Pen JBYdqR by Beginners-High (@dragonpa) on CodePen.

HTMLは最後に記述した要素が一番手前に表示される仕様なので、通常の状態だと奥から赤・青・緑という順番でボックスが表示されます。

とは言え、HTMLの記述を変えずに要素の重なり順を変えたいというシチュエーションはよくあるので、そんな時に z-idexを指定して重なりを調整してやりるんですね。
繰り返しますが、z-indexは数値が多い要素が手前に配置されるのでお間違いなく。

z-indexを指定した場合

See the Pen Z-index after by Beginners-High (@dragonpa) on CodePen.

先ほどは一番奥に表示されていた赤いボックスが、一番手前に表示されるようになりました。
z-indexを使えばHTMLの記述と関係なく、要素の順番をコントロールできるので、HTMLの構造を崩す事なくレイアウトを調整できるようになります。

要素を重ねてデザイン的な表現をしたり、グローバルナビのような常に画面手前に表示させたい要素がある場合には Z-indexが有効ですよ!

z-indexを指定したサンプルのCSS

z-indexは positionプロパティの値として relative、absolute、fixed のいずれか(position: static 以外)を指定しなければ使えません。
という事は positionプロパティと併用する必要があるという事ですね。

まとめ

z-indexプロパティは、数値だけで要素の前後関係を調整できるので、初心者でも比較的理解しやすく、手軽に使えるのではないでしょうか。
要素を重ねるデザインだけでなくグローバルナビやトップに戻るボタンなど、幅広く使える z-indexプロパティ。使ったことのない初心者さんは是非一度使ってみてください!

「超便利!CSSでレイヤーのように重ねて表示する z-index」でした。

CSSでグラデーションオーバーレイを設定

たった数行のCSSのみ!グラデーションオーバレイで背景画像に重ねる方法

2018年5月2日
動画背景サムネイル

CSSだけで実装可能!画面いっぱいに動画背景を表示する方法

2018年1月21日






cssでz-indexサムネイル