层叠上下文

1.概念

stacking context
网页中的元素级别不同,有z轴

2.层叠水平

普通元素的层叠水平优先由层叠上下文决定,层叠水平的比较只有在当前层叠上下文元素中才有意义
老时代层叠顺序:

  • 正z-index
  • z-index: 0
  • inline / inline-block 内联盒子
  • float 浮动盒子
  • block 块级水平盒子
  • 负z-index
  • 层叠上下文 background/border

内联元素层叠顺序要比浮动元素和块状元素要高
优先显示的顺序是:
inline和inline-block一般是内容
float和block一般是布局
background和border一般是装饰

层叠黄金准则:
1.谁大谁上
z-index值大的那个覆盖z-index小的那个
2.后来居上
层叠水平一直,层叠顺序相同时,在DOM流中处于后面的元素会覆盖前面的元素

3.层叠上下文的创建

  • 根层叠上下文
    html标签,绝对定位时,如果没有其他元素限制,就会相对浏览器窗口定位的原因

  • z-index为数值的定位元素的传统层叠上下文

  • 其他css3属性

  • z-index: 0所在的div是层叠上下文元素,而z-index: auto所在的div是一个普通元素,里面两个的层叠比较就不受父级影响,谁大谁上的准则

  • z-index一旦变成数值,都会创建一个层叠上下文,每个层叠上下文是自成体系的,当元素发生层叠时,整个元素被任务是在父层叠上下文的层叠顺序中

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容