今回は【CSS】z-indexで配置位置を指定する方法を学ぼう!
についての解説になります!
こんな方に読んでほしい
- CSSを学び始めた方へ
-
z-index
の使い方について学びたい方へ - 今回は要素の配置位置について記事を書いております
上の図のように、z-indexを指定することにより、配置位置を変更することができるようになります。
z-indexについて
z-index
とは、要素の配置位置を指定する際に使用します。
書き方は以下のようになります。
数値で指定した値が大きいほど上に表示します。
またマイナス(-)の値を指定した場合は、通常の要素より下に配置もできます。
- 最小値 -2147483647
- 最大値 2147483647
- 整数のみ 小数点はNGになります
z-indexを使用する際の注意点
z-indexを指定する際には、必ずposition: 「relative、absolute、fixed」を指定されている場合
のみ適用されます。
またposition: 「static」は初期値になるため、z-indexを指定した際にも適用されません。
ポイント01
①z-indexを指定する際には、必ずposition: 「relative、absolute、fixed」を指定しましょう。
②position: 「static」は初期値になるため、z-indexを指定した際にも適用されません。
z-index指定方法について
z-index指定はシンプルですが、先ほどの注意点に基づき解説していきます。
z-indexを指定していない場合
z-indexを指定せず、positionのみでの重なりの指定をみてみましょう。
<div class="position__area_r">
<p class="box01">1番目</p>
<p class="box02">2番目</p>
<p class="box03">3番目</p>
</div>
.position__area_r {
width: 100%;
height: 135px;
background-color: #395848;
border: solid 3px #fff;
/*--relativeを指定--*/
position: relative;
}
.box01,.box02,.box03 {
/*--absoluteを指定--*/
position: absolute;
}
.box01 {
top: 0;
left: 0;
}
.box02 {
top: 40px;
left: 40px;
}
.box03 {
top: 80px;
left: 80px;
}
z-indexを指定していない場合は、後ろに書かれた要素が上に重なります。
z-indexを指定した場合
数値で指定した値が大きいほど上に表示します。
またマイナス(-)の値を指定した場合は、通常の要素より下に配置もできます。
- 最小値 -2147483647
- 最大値 2147483647
- 整数のみ 小数点はNGになります
<div class="position__area_r">
<p class="box01">1番目</p>
<p class="box02">2番目</p>
<p class="box03">3番目</p>
</div>
.position__area_r {
width: 100%;
height: 135px;
background-color: #395848;
border: solid 3px #fff;
/*--relativeを指定--*/
position: relative;
}
.box01,.box02,.box03 {
/*--absoluteを指定--*/
position: absolute;
}
.box01 {
z-index: 30;
top: 0;
left: 0;
}
.box02 {
z-index: 20;
top: 40px;
left: 40px;
}
.box03 {
z-index: 10;
top: 80px;
left: 80px;
}
1box01には、1番数値の値が大きい30
を指定
2box02には、2番目に数値の値が大きい20
を指定
3box03には、3番目に数値の値が大きい10
を指定
数値の大きさによって重なりの順番は変わってきます。
z-indexが効かない場合
z-indexを設定しているのに効かない場合は、positionが指定されているか確認しましょう。
また、positionが指定されていても「static」になっていないか確認もしておきましょう。
<div class="position__area_r">
<p class="box01">1番目</p>
<p class="box02">2番目</p>
<p class="box03">3番目</p>
</div>
.position__area_r {/*--省略--*/}
.box01 {
z-index: 30;
top: 0;
left: 0;
}
.box02 {
position: absolute;
z-index: 20;
top: 40px;
left: 40px;
}
.box03 {
position: absolute;
z-index: 10;
top: 80px;
left: 80px;
}
box01にz-index: 30を指定していますが、重なりの順番が変わっておりません。
この対処法としては、position: 「relative、absolute、fixed」を指定するようにしましょう。
この場合が「relative、absolute」のどちらかを使用するようにしましょう。
まとめ
今回はこれで以上です。
- POINT
-
z-index
は配置位置を変更することができるようになります。 -
z-index
は数値で指定した値が大きいほど上に表示します。 - 最小値 -2147483647 〜
最大値 2147483647までになります。 - z-indexを指定する際には、必ずposition: 「relative、absolute、fixed」を指定しましょう。
- position: 「static」は初期値になるため、z-indexを指定した際にも適用されません。
スポンサーリンク
SHU
1991年生まれ九州の宮崎県育ち高校卒業後、愛知県で自動車関係のお仕事に5年間勤め、WEB業界に転職致しました。
趣味:サッカー観戦、ゲーム、映画、漫画基本インドアです!笑
つくる、しあわせをテーマとして主にWEBに関する様々な情報を発信しています。
最新記事
関連記事