跳到正文
在此运行 完全在你的浏览器里运行,不上传、不登录

z-index 层叠可视化

添加多个层并按绘制顺序排序,同时了解哪些属性会创建层叠上下文。

绘制顺序(由后至前)

重叠预览

预览把所有层都用绝对定位摆放,这样即使标记为 static 的层也能看清绘制顺序。

哪些情况会创建新的层叠上下文

  • 定位元素(position 不是 static)且 z-index 不是 auto。
  • opacity 小于 1 的元素。
  • transform、filter、backdrop-filter 或 perspective 不为 none 的元素。
  • isolation: isolate、mix-blend-mode 不为 normal,或 will-change 指向上述属性的元素。
  • z-index 不为 auto 的 flex 或 grid 子项,以及文档根元素。

怎么用

  1. 给层命名,设置 z-index 并选择 position 取值。
  2. 可选:降低不透明度、勾选 transform,或标记该层会创建独立的层叠上下文。
  3. 点「添加层」,列表会按浏览器实际绘制顺序自动重排。
  4. 对照重叠预览方块,虚线边框表示该层会创建层叠上下文。
  5. 可以单独移除某一层,或清空后重建,用来推演真实项目里的遮挡问题。

常见用法

常见问题

问:为什么 static 层排在 z-index 为 0 的定位层后面(更靠下)? 答:CSS 绘制算法先画流内非定位内容,再画 z-index 为 auto 或 0 的定位后代。给 static 元素加 z-index 不会有任何效果,这正是遮罩层出不来最常见的原因。

问:z-index 小就一定在后面吗? 答:只在同一个层叠上下文内成立。处于不同层叠上下文的两个元素要通过各自的父级比较,所以 z-index 为 999 的子元素也可能被父级兄弟元素的 z-index 2 压住。

问:勾选「创建层叠上下文」会改变什么? 答:它标记该层会将其后代包住,后代无法再与层外的元素比较层级。可视化用虚线边框画出这条边界,方便你在重排列表时看清范围。

你的数据留在这台设备上

z-index 层叠可视化 完全在本地运行。你粘贴或拖入的一切都由你自己的浏览器处理,不会被传走。我们的服务器不保存任何东西——关掉标签页就没了。

你输入的内容不会发往服务器、不被记录,也不用于分析统计。首次加载之后即使断网,这个页面照样能用。