z-index
คุณสมบัติระบุ ลำดับสแต็กขององค์ประกอบ
เมื่อองค์ประกอบถูกวางตำแหน่ง พวกมันสามารถซ้อนทับองค์ประกอบอื่นๆ ได้
คุณสมบัติ z-index
ระบุลำดับสแต็กขององค์ประกอบ (องค์ประกอบใดควรวางไว้ด้านหน้าหรือด้านหลังองค์ประกอบอื่นๆ)
องค์ประกอบสามารถมีลำดับสแต็กบวกหรือลบ:
Because the image has a z-index of -1, it will be placed behind the text.
img
{
position: absolute;
left: 0px;
top: 0px;
z-index: -1;
}
ลองด้วยตัวคุณเอง →
<!DOCTYPE html>
<html>
<head>
<style>
img {
position: absolute;
left: 0px;
top: 0px;
z-index: -1;
}
</style>
</head>
<body>
<h1>This is a heading</h1>
<img src="img_tree.png">
<p>Because the image has a z-index of -1, it will be placed behind the text.</p>
</body>
</html>
หมายเหตุ: z-index
ใช้ได้กับองค์ประกอบที่มีตำแหน่งเท่านั้น (ตำแหน่ง: สัมบูรณ์, ตำแหน่ง: สัมพันธ์ ตำแหน่ง: คงที่ หรือ ตำแหน่ง: เหนียว) และรายการดิ้น (องค์ประกอบที่เป็นลูกโดยตรงของจอแสดงผล: องค์ประกอบดิ้น)
ที่นี่เราจะเห็นว่าองค์ประกอบที่มีลำดับสแต็กมากกว่าจะอยู่เหนือองค์ประกอบที่มีลำดับสแต็กต่ำกว่าเสมอ:
<html>
<head>
<style>
.container {
position: relative;
}
.black-box {
position: relative;
z-index: 1;
border: 2px solid black;
height: 100px;
margin: 30px;
}
.gray-box {
position: absolute;
z-index: 3;
background: lightgray;
height: 60px;
width: 70%;
left: 50px;
top: 50px;
}
.green-box {
position: absolute;
z-index: 2;
background: lightgreen;
width: 35%;
left: 270px;
top: -15px;
height:
100px;
}
</style>
</head>
<body>
<div class="container">
<div
class="black-box">Black box</div>
<div class="gray-box">Gray
box</div>
<div class="green-box">Green box</div>
</div>
</body>
</html>
ลองด้วยตัวคุณเอง →
<!DOCTYPE html>
<html>
<head>
<style>
.container {
position: relative;
}
.black-box {
position: relative;
z-index: 1;
border: 2px solid black;
height: 100px;
margin: 30px;
}
.gray-box {
position: absolute;
z-index: 3; /* gray box will be above both green and black box */
background: lightgray;
height: 60px;
width: 70%;
left: 50px;
top: 50px;
}
.green-box {
position: absolute;
z-index: 2; /* green box will be above black box */
background: lightgreen;
width: 35%;
left: 270px;
top: -15px;
height: 100px;
}
</style>
</head>
<body>
<h1>Z-index Example</h1>
<p>An element with greater stack order is always above an element with a lower stack order.</p>
<div class="container">
<div class="black-box">Black box (z-index: 1)</div>
<div class="gray-box">Gray box (z-index: 3)</div>
<div class="green-box">Green box (z-index: 2)</div>
</div>
</body>
</html>
หากองค์ประกอบสองตำแหน่งซ้อนทับกันโดยไม่มี z-index
ระบุไว้ องค์ประกอบที่กำหนด สุดท้ายในโค้ด HTML จะแสดงอยู่ด้านบน
ตัวอย่างเดียวกับข้างต้น แต่ที่นี่ไม่มีการระบุดัชนี z:
<html>
<head>
<style>
.container {
position: relative;
}
.black-box {
position: relative;
border: 2px solid black;
height: 100px;
margin: 30px;
}
.gray-box {
position: absolute;
background: lightgray;
height: 60px;
width: 70%;
left: 50px;
top: 50px;
}
.green-box {
position: absolute;
background: lightgreen;
width: 35%;
left: 270px;
top: -15px;
height:
100px;
}
</style>
</head>
<body>
<div class="container">
<div
class="black-box">Black box</div>
<div class="gray-box">Gray
box</div>
<div class="green-box">Green box</div>
</div>
</body>
</html>
ลองด้วยตัวคุณเอง →
<!DOCTYPE html>
<html>
<head>
<style>
.container {
position: relative;
}
.black-box {
position: relative;
border: 2px solid black;
height: 100px;
margin: 30px;
}
.gray-box {
position: absolute;
background: lightgray;
height: 60px;
width: 70%;
left: 50px;
top: 50px;
}
.green-box {
position: absolute;
background: lightgreen;
width: 35%;
left: 270px;
top: -15px;
height: 100px;
}
</style>
</head>
<body>
<h1>Overlapping elements</h1>
<p>If two positioned elements overlap each other without a z-index specified,
the element defined last in the HTML code will be shown on top:</p>
<div class="container">
<div class="black-box">Black box</div>
<div class="gray-box">Gray box</div>
<div class="green-box">Green box</div>
</div>
</body>
</html>
ตั้งค่าลำดับสแต็กขององค์ประกอบ