MightyCSSz-indexプロパティ
この記事では、の使用方法について学習します。 z-index
CSSプロパティ…CSSで3次元に侵入する唯一の方法!
CSSを使用してスタイルを設定する場合、ほとんどの場合、CSSは2D平面上にあります。 HTML要素は、テトリスの積み重ねブロックのように、ページ上に水平/垂直に配置されます。 The z-index
このパラダイムを変更し、3番目の平面であるz軸に視覚的な階層を定義する機能を提供します。
このコードスニペットでは、 #navbar
、オーバーラップします #footer
(位置が重なっている場合)z-indexが高いため。
#navbar {
position: relative;
z-index: 11;
}
#footer {
position: relative;
z-index: 10;
}
使用していなかった場合 z-index
まったく、ナビゲーションバーはフッターを重ねるのではなく、単に押しのけるだけでした。
用途 z-index
コード自体を見るのは少し抽象的なので、このデモをチェックしてみましょう。 z-index
使用されている。
CodePenのalligatorio( @alligatorio )によるペンeYZEoVLを参照してください。
<div>
<img src="https://assets.digitalocean.com/articles/docker_node_image/sammy.png" />
</div>
<div id="magazine-title">
Sammy the Shark
</div>
#portrait {
position: relative;
z-index: 1
width: 200px;
}
#magazine-title {
position: relative;
z-index: 2;
top: -2em;
left: 2em;
font: normal 2em sans-serif;
color: darkslategray;
background-color: whitesmoke;
border: 3px dotted darkslategray;
}
使用する z-index
、テキストを画像に重ねることができます! これは、レイヤーがWebデザインについて考えるための異なる方法を導入するための小さな方法です。
マイナーな警告
あなたが鋭い目を持っているなら、あなたはおそらく以前のコードスニペットが使用されていることに気づいたでしょう position: relative
一緒に z-index
. これは偶然ではありませんでした: z-index
ルールは「配置された要素」でのみ機能します。
適用するのを忘れた position
ルールは事実上無視します z-index
ルール。
div {
position: static | relative | absolute | sticky | fixed;
z-index: 1;
}
配置要素は、相対、絶対、固定、またはスティッキーのいずれかのHTML要素です。 基本的に、それは静的以外のものです。
兄弟の競争
もう1つの小さな注意点は z-index
兄弟のHTML要素間でのみ競合します。
2つのHTML要素が与えられると、深くネストされたHTML要素は、常に、より低いz-index値を持つネストされていないHTML要素とオーバーラップします。
これは、それを示すデモです z-index
兄弟のHTML要素間でのみ競合します。
<div class="blue">
<div class="violet"></div>
<div class="purple"></div>
</div>
<div class="green"></div>
.blue {
position: relative;
z-index: 2;
background-color: blue;
}
.violet {
position: relative;
z-index: 4;
background-color: violet;
}
.purple {
position: relative;
z-index: 1;
background-color: purple;
}
.green {
position: relative;
z-index: 3;
background-color: green;
top: -4em;
}
HTML要素 div.violet
オーバーラップします div.green
より高いにもかかわらず z-index
価値!
の値 z-index
正/負の整数である必要があります。 これは、無制限のz軸レイヤーを持つことができるという意味ではありません! 最大範囲は±2147483647です。
CSSコードベースでは、多くの場合、999、9999、または99999のz-index値が表示されます。 これは、要素が常に一番上にあることを確認するためのおそらく怠惰な方法です。 複数の要素を上に置く必要がある場合、将来的に問題が発生する可能性があります。 ほとんどの場合、ニーズには1または2のz-indexで十分であることがわかります。
まとめ
私たちが学んだことのいくつかを復習しましょう z-index
:
z-index
z軸上に重なり合うレイヤーを作成できます!z-index
配置された要素でのみ機能しますz-index
兄弟のHTML要素とのみ競合します
コンテンツを重ねると、面白いデザインができます! うまくいけば、あなたはどのように良い考えを持っているでしょう z-index
動作し、ガイドラインのいくつかは、成功して使用できるようにします。
MDN にアクセスして、 z-index
財産。