我有一个dom元素套一个dom元素套一个dom元素,所以基本上有3个层次。
我试图让中间层(第一层)位于所有层的顶部。我尝试设置一个高的z轴,但没有效果。
假设我不能改变结构,我怎么能做到这一点?
.level-0 {
z-index: 5;
float: left;
background-color: red;
width: 100px;
height: 100px;
margin: 10px;
}
.level-1 {
position: relative;
z-index: 50;
float: left;
background-color: blue;
width: 50px;
height: 50px;
margin: 10px;
}
.level-2 {
z-index: 2;
float: left;
background-color: green;
width: 50px;
height: 50px;
margin: 10px;
}
<div class="level-0">
Level 0
<div class="level-1">
level 1
<div class="level-2">
level 2
</div>
</div>
</div>
2条答案
按热度按时间jbose2ul1#
对于初学CSS的人来说,这是一个棘手的问题。问题是,如果这是在一个父div和两个级别相同的子div中完成的,也就是说,给中间的子div比另一个子div和父div更高的z-index就可以了。但是,在你有三个级别的场景中,你需要使用其他CSS属性,比如transform-style:保留-3D和变换:translateZ(Xpx),并给出一个数字而不是X。代码如下所示:
如果你还需要什么帮助,尽管问我。
ubby3x7f2#
z索引仅适用于定位的元素。
z-index
没有任何作用,z-index
主要用于position:relative
、position:absolute
和position:fixed
。parent
、child
和grand-child
。如果定位元素的z索引为X,则其所有子元素也将固定为z值X
level-0
)的z-index也会应用于它的所有子元素,更改它的子元素z-index
不会有任何效果。