Z-index 不适用于伪元素
Z-index not working on pseudo elements
我查看了其他答案,但无法具体找到示例。如果我使用 :before 或 :after 伪元素作为具有绝对位置的叠加层,是否可以更改父容器内元素的 z-index 以将它们置于叠加层之上。我已经创建了一个基本示例,任何帮助将不胜感激,因为很难理解如何让 z-index 在这种情况下正常工作:
结构示例如下:
<div class="page-banner">
<div class="container">
<h2 class="page-title">Shop</h2>
</div>
CSS如下:
.page-banner {
position: relative;
z-index: 1;
height: 100%;
background-image: url('http://placehold.it/1920x500'); background-size: cover;
}
.page-banner .page-title {
z-index: 150;
}
.page-banner:after {
position: absolute;
left: 0;
content:"";
top: 0;
width: 100%;
background: rgba(0, 0, 0, 0.7);
height: 100%;
z-index: 1;
}
将负 z-index 设置为 :after
以放入内部元素 (.page-title
) 下。
.page-banner:after {z-index: -1}
我查看了其他答案,但无法具体找到示例。如果我使用 :before 或 :after 伪元素作为具有绝对位置的叠加层,是否可以更改父容器内元素的 z-index 以将它们置于叠加层之上。我已经创建了一个基本示例,任何帮助将不胜感激,因为很难理解如何让 z-index 在这种情况下正常工作:
结构示例如下:
<div class="page-banner">
<div class="container">
<h2 class="page-title">Shop</h2>
</div>
CSS如下:
.page-banner {
position: relative;
z-index: 1;
height: 100%;
background-image: url('http://placehold.it/1920x500'); background-size: cover;
}
.page-banner .page-title {
z-index: 150;
}
.page-banner:after {
position: absolute;
left: 0;
content:"";
top: 0;
width: 100%;
background: rgba(0, 0, 0, 0.7);
height: 100%;
z-index: 1;
}
将负 z-index 设置为 :after
以放入内部元素 (.page-title
) 下。
.page-banner:after {z-index: -1}