层叠上下文和z-index

Posted star

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了层叠上下文和z-index相关的知识,希望对你有一定的参考价值。

理解渲染过程和层叠顺序

浏览器会先绘制所有非定位的元素,然后绘制定位元素。默认情况下,所有的定位元素会出现在非定位元素前面。

用z-index控制层叠顺序

1. 拥有较高z-index的元素出现在拥有较低z-index的元素前面。拥有负数z-index的元素出现在静态元素后面。
2. z-index只在定位元素上生效,不能用它控制静态元素。
3. 给一个定位元素加上z-index可以创建层叠上下文。

层叠上下文

一个层叠上下文包含一个元素或者由浏览器一起绘制的一组元素。其中一个元素会作为层叠上下文的根,比如给一个定位元素加上z-index的时候,它就变成了一个新的层叠上下文的根。所有后代元素就是这个层叠上下文的一部分。

层叠上下文之外的元素无法叠放在层叠上下文内的两个元素之间。

层叠上下文中元素的叠加顺序

层叠上下文中的元素会按以下的顺序,从后到前叠放

1.层叠上下文的根
2.z-index为负的定位元素(及其子元素)
3.非定位元素
4.z-index为auto的定位元素(及其子元素)
5.z-index为正的定位元素(及其子元素)

以上是关于层叠上下文和z-index的主要内容,如果未能解决你的问题,请参考以下文章

z-index

CSS层叠上下文、层叠等级、层叠顺序和z-index

z-index和层叠上下文

z-index(学习笔记)

z-index与层叠上下文

CSS - 层叠上下文(The stacking context)