css层叠上下文和层叠水平

页面中当元素发生层叠时如何显示。为何有的元素明明写在后面却被前者覆盖住了?为何z-index设置很大了,还是不显示?这些涉及到css中的层叠上下文,层叠水平等

层叠上下文

类似块级格式化上下文,是一个封闭的空间,用来限制内部元素的层叠水平在当前范围活动的。在同一个层叠上下文中,(元素、层叠上下文)的层叠水平按一定的规则排序、显示。

  • 特性:
    • 层叠水平比普通元素高
    • 可嵌套,内部层叠上下文及其所有子元素受制于外部层叠上下文
    • 与兄弟元素独立,只需考虑后代元素
    • 自成体系,当元素发生层叠时,整个元素被认为是在福层叠上下文层叠顺序中
  • 创建方式:
    • 天生派: 根层叠上下文 页面根元素天生就具有的 (<html>)
    • 正统派: z-index为数值(默认为auto)的定位元素 (position为relative/absolute/fixed)
      • webkit内核中fixed 无需z-index为数值
    • 扩招派: 其它css3属性
      • 1.flex布局,z-index不为auto
      • 2.元素的opacity值不为1
      • 3.元素的transform值不为none
      • 4.元素的mix-blend-mode值不为normal
      • 5.元素的filter值不为none
      • 6.元素的isolation值为isolate
      • 7.元素的will-change值为2~6的任意一个(will-change:opacity)
      • 8.元素的-webkit-overflow-scrolling值为touch

层叠顺序

block块如果未产生层叠上下文则其会遮挡住z-index负的元素
在这里插入图片描述

层叠规则

  • 谁大谁上:在同一层叠上下文中,谁的层叠水平大谁在上
  • 后来居上:层叠水平相同时,dom流后面的覆盖前面的

参考文献:
[1] Css世界

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值