CSS2.1规范笔记——9.7 分层展示

发布时间 2023-07-22 19:52:51作者: hdxg

分层展示

z-index属性

该属性指定了:

  • 当前堆叠上限爱问(stacking context)中,该盒的堆叠层级(stack level);
  • 该盒是否应该建立一个堆叠上下文;

该属性的取值为:

  • <integer>:是生成盒当前堆叠上下文中的堆叠层级,该盒还会建立一个新的堆叠上下文。
  • auto:生成盒在当前堆叠上下文中的堆叠层级为0.该盒不会建立堆叠上下文,除非它是根元素。

堆叠上下文

渲染树绘制到画布上的顺序是根据堆叠上下文来定的,堆叠上下文可以包含堆叠上下文。每个盒都属于一个堆叠上下文。给定堆叠上下文中每个定位盒都有一个整型堆叠层级,表示它在同一堆叠上下文中相对于其他堆叠层级的Z轴上的位置。

根元素生产根堆叠上下文,其他堆叠上下文由任何z-index计算值不为auto的定位元素(包括相对定位元素)生产。

每个堆叠上下文中,下列层按照从后向前的顺序绘制:

  1. 元素的background和border生成的堆叠上下文
  2. 堆叠层级为负数的子级堆叠上下文(最负的优先)
  3. 流内的,非行内级,非定位(non-positioned )后代
  4. 非定位浮动(元素)
  5. 流内的,行内级,非定位后代,包括inline table和inline block
  6. 堆叠层级为0的子级堆叠上下文,以及堆叠层级为0的定位的后代
  7. 堆叠层级为正数的子级堆叠上下文(最小的优先)