层叠上下文、层叠等级、层叠权重

59 阅读1分钟

层叠上下文,是一种特殊css环境。在这个环境下,有了Z轴的概念。跟文档流只有x,y轴所不同,层叠上下文主要是由Z轴这个概念。

创建层叠上下文的方法

  • html元素
  • position为absolute或者relative,但z-index不为auto(默认值)
  • position为fixed或者sticky
  • flex元素的子元素且z-index不为auto
  • transform不为none的元素

层叠等级:z-index>0 > z-index:auto/z-index:0 > 浮动盒子 > block块级盒子 > (z-index < 0) > 当前元素所处的层叠上下文

当遇到元素层叠时,我们如何判断谁上谁下呢,这就相当于在比较层叠权重?

  • 我们需要先判断两个元素是否处于同一个层叠上下文中,如果是,就判断谁的层叠等级更高点,谁就在上面
  • 如果不是同一个层叠上下文。那么就比较它们所处的层叠上下文的层叠权重。如果层叠等级一样,后面的元素的层叠权重就要比前面的高。