普通元素的堆叠顺序由元素在文档中的先后位置决定,后出现的会在上面。
z-index只对position值为relative/absolute/fixed的元素有效。
<div id="a1">a1</div>
<div id="a2">a2
<div id="a3">a3</div>
</div>
-
3个div都设置定位后,若a1的z-index=9,a2的z-index=5,那么不论a3的z-index为多少(比如999),a3的层级都在a1下面,因为会优先比较同级元素。
-
若a2没有定位,a1与a3设置了定位,则两者的z-index可以直接比较,当a3的z-index大于a1时,其层级也在上面。
子元素一定会在父元素上面,即便其z-index较小。
林秀栋的技术博客