• 什么是CSS层叠上下文,层叠等级、层叠顺序?z-index在什么情况下生效,什么情况下失效?


    一、 CSS层叠上下文(stacking context)

    一个元素有层叠上下文,我们认为它在z轴上高人一等。

    如何产生层叠上下文?

    层叠上下文也基本上是有一些特定的CSS属性创建的,一般有3种方法:

    1. HTML中的根元素<html></html>本身j就具有层叠上下文,称为“根层叠上下文”。
    2. 普通元素设置position属性为static值并设置z-index属性为具体数值,产生层叠上下文。
    3. CSS3中的新属性也可以产生层叠上下文。

    二、 层叠等级(stacking level)

    • 在同一个层叠上下文中,它描述定义的是该层叠上下文中的层叠上下文元素在Z轴上的上下顺序。
    • 在其他普通元素中,它描述定义的是这些普通元素在Z轴上的上下顺序。

    三、 层叠顺序

    本图转载自https://juejin.cn/post/6844903667175260174 

    四、当遇到元素层叠时,如何清晰地判断出他们谁在上谁在下呢?

    1、比较的两个元素是否处于同一个层叠上下文中:

    • 如果是,谁的层叠等级大,谁在上面(怎么判断层叠等级大小呢?——看“层叠顺序”图)。
    • 如果两个元素不在统一层叠上下文中,请先比较他们所处的层叠上下文的层叠等级。

    2、当两个元素层叠等级相同、层叠顺序相同时,在DOM结构中后面的元素层叠等级在前面元素之上。

    五、 z-index在什么情况下生效?

    z-index属性值并不是在任何元素上都有效果。它仅在定位元素(定义了position属性,且属性值为非static值的元素)上有效果。

    六、 z-index在什么情况下失效?

    z-index无效的情况,一共有三种:
    1、父标签 position属性为relative;
    2、问题标签无position属性(不包括static);
    3、问题标签含有浮动(float)属性。

    详细内容请阅读:https://juejin.cn/post/6844903667175260174

  • 相关阅读:
    python基础学习笔记(二)
    python基础学习笔记(三)
    python基础学习笔记(四)
    python基础学习笔记(五)
    python基础学习笔记(六)
    python基础学习笔记(七)
    python基础学习笔记(八)
    Spring Boot(五):Spring Boot Jpa 的使用
    MySQL优化?
    ⾏级锁定的优点和缺点:
  • 原文地址:https://www.cnblogs.com/zhizhi0810/p/15187064.html
Copyright © 2020-2023  润新知