关于css中的z-index的使用
<header>
<div class="nav">
<ul>
<li>
产品服务
<div class="content"></div>
</li>
</ul>
</div>
</header>
<div class="swiper"></div>
如上代码,这几天在做一个需求的时候,突然发现z-index不生效了。
以上结构,header是网站的头部,div.swiper是header下面的轮播图。div.nav是头部的导航条,li是其中一个导航,li被鼠标hover的时候,显示div.content。最后的效果如图参考。
轮播图直接使用的swiper,还没有做swiper部分之前,hover那一块是没有问题的,swiper做了以后,发现hover就有问题了。后来排查了一下,是因为swiper的z-index设置为1。我心想这下好办了,把li的z-index设置成2不就好了。然而,并不好使。
z-index只对定位元素有效果
position的属性值包括:absolute-绝对定位、relative-相对定位、fixed-固定定位、inherit-继承父元素定位,static-静态定位。前三者肯定有效;inherit取决于父元素;静态定位-static,否则z-index会无效。同一个父元素下的元素的层叠效果会受父元素的z-index影响
如果父元素的z-index值很小,那么子元素的z-index值很大也不起作用当前标签不能含有float属性
这个是在网上找到的,我自己验证了一下结论正好相反。