WebCamp・WebCampProを運営する株式会社インフラトップのオウンドメディア【スキルマ】。プログラマー・エンジニア・Webデザイナーを目指す初心者の方に向けた記事や、就職・転職を考えている方向けの記事を発信しています。

【CSS初心者入門】重ねて表示することができるz-indexの使い方を解説!

プログラミング教室・人気ランキング

順位 スクール名 こんな方におすすめ 公式サイト
   Web Camp 【業界最安値】1ヶ月通い放題/Webサービスなど作りたい方 公式サイト 
  TECH BOOST ブロックチェーン/AI/IoTコースあり/3ヶ月でエンジニアに! 公式サイト
Tech Camp Webデザイン/AI(人工知能)/IOS/Androidアプリ制作/VRを学びたい方! 公式サイト
▼本記事について
本記事は、『たった1ヶ月で未来を変えられる』初心者向けプログラミングスクール「WebCamp(ウェブキャンプ)や、未経験者でも3ヶ月の学習でエンジニアに転職・就職ができる「WebCampPro(ウェブキャンププロ)」を運営してる株式会社インフラトップが提供しています。

みなさんはCSSの学習をしていませんか?

CSSを学習する時に「z-index」が使えると、デザインに幅を持たせることができます。

今回の記事ではz-indexの使い方を解説します!

重なりを管理する

z-indexはCSSのプロパティであり、z-indexプロパティはボックスの重なりの順序を指定する際に使用します。

ボックスの重なりの順序とは、優先順位(スタックレベル)を指定するということになります。

例えば、通常では後に記述されたものが画面では手前に配置されますが、z-indexを使用することによって自由に優先順位を設定することができます。

適用条件

z-indexプロパティは、positionプロパティでstatic(初期値)以外の値が指定されている要素に適用されます。

基本的には、整数値で指定します。0を基準として、値が大きいものほど上になります。

また、autoと記載すると、親要素と同じ階層になります。

親要素でz-indexの指定がされていない場合は値は0となります。

初期値

auto(親要素と同じ順序改装)になります。

スタック文脈とスタックレベル

スタック文脈

スタック文脈とは、ある条件を満たした要素によって形成される階層構造(文脈)のことです。

以下の条件のいずれかを満たした場合にスタック文脈が形成されます。

1.positionプロパティの値をrelative、absoluteにし、かつz-indexの値をauto以外の整数値にしたとき

2.positionプロパティの値をfixed、stickyにしたとき

ちなみにHTML要素はルート要素としてルートスタック文脈を形成しているため、HTML要素にz-indexを指定しなくとも、HTML要素はスタック文脈を形成します。

画像処理ソフトでいうレイヤーやオブジェクトのような概念ととらえればわかりやすいかもしれません。

スタックレベル

スタックレベルは、同一のスタック文脈内での重なり順です。つまり、z-indexの値が、同一スタック文脈内でのスタックレベルになります。

意図しない重なり順になるケースに注意

異なるスタック文脈に属している要素同士の重なり順をz-indexの値でコントロールすることはできません。なぜなら、あるスタック文脈に属している要素は、そのスタック文脈の外に出ることはできないからです。

つまり、z-indexだけを見て、どちらが上にあると判断することはできず、各スタック文脈での判断が必要になるということです。

後述するサンプルで説明すると、

1.z-A、z-B、z-CははHTML要素のルートスタック文脈の中に配置されています。順序は上から、z-C、z-B、z-Aとなります。

2.z-Bのローカルスタック文脈の中に子要素.z-B-1と.z-B-2が配置されています。順序は上からz-B-2、z-B-1。

3.z-B-2はz-Cよりも上にいくことはなく、z-B-1はz-Aよりも下に行くこともありません。スタック文脈が異なるためです。

となります。十分関係性を考慮して順序を形成してみてください。

サンプル


<!DOCTYPE html>
<html>
<head>
<title>z-index</title>
<style type="text/css">
div {
padding: 10px;
font-size: 12px;
}
.z-5 {
position: relative;
z-index: 5; /* スタック文脈を形成 */
width: 400px;
height: 100px;
background-color: rgba(255,0,0,0.5);
}
.z-2 {
position: absolute;
z-index: 2; /* スタック文脈を形成 */
top: 200px;
width: 400px;
height: 100px;
background-color: rgba(255,0,0,0.5);
}
.z-4 {
position: absolute;
z-index: 4; /* スタック文脈を形成 */
top: 50px;
left: 100px;
width: 200px;
height: 240px;
background-color: rgba(0,150,0,1);
}
.z-4-1 {
position: absolute;
z-index: 1; /* スタック文脈を形成 */
top: 65px;
left: 10px;
width: 100px;
height: 100px;
background-color: rgba(0,0,255,1);
}
.z-4-6 {
position: absolute;
z-index: 6; /* スタック文脈を形成 */
top: 55px;
left: 120px;
width: 150px;
height: 150px;
background-color: rgba(255,255,0,1);
}</style>
</head>
<body>
<div class="z-5">.z-5(z-index:5)</div>
<div class="z-2">.z-2(z-index:2)</div>
<div class="z-4">
.z-4(z-index:4)
<div class="z-4-1">.z-4-1(z-index:1)</div>
<div class="z-4-6">.z-4-6(z-index:6)</div>
</div></body>
</html>

まとめ

初心者の方向けにfloatを紹介していきましたが、いかがでしたか?

floatを上手に使いこなせることはWebサイトを作成する上で基本となる部分ですので、しっかり基本を抑えてくださいね!

1ヶ月でHTML・CSSができる!「WebCamp」とは?

WebCampは1ヶ月でプログラミング・Webデザインスキルを学ぶ通い放題のプログラミングスクールです。

参加する方の90%は未経験者です!

短期集中型のスクールなので、期間を決めて圧倒的に効率よくサイト制作スキルを身に着けたい方におすすめです!

わからないことを講師にすぐ質問できたり、通い放題で自分のスケジュールに合わせて来校することができるので、独学で学習するよりも早く確実にスキルが身につきます。

学習の疑問点やWebスキルのマスターの仕方がわかる無料説明会も開催しています。ぜひお気軽にお申込みください!

▼未経験から1ヶ月でWebデザイン・プログライミングを学びたい方はこちら!

▼IT未経験からエンジニアに就職・転職したい方はこちら!