欢迎您访问新疆栾骏商贸有限公司,公司主营电子五金轴承产品批发业务!
全国咨询热线: 400-8878-609

新闻资讯

技术学院

在css中如何用z-index控制层叠顺序

作者:P粉6029986702025-10-21 00:00:00
z-index用于控制定位元素的层叠顺序,值越大越靠前,需配合position使用,且受层叠上下文限制。

在CSS中,z-index 属性用于控制元素的层叠顺序,也就是哪个元素显示在前面,哪个显示在后面。它只对定位元素生效(即 position 值为 relative、absolute、fixed 或 sticky 的元素)。

理解 z-index 的基本规则

默认情况下,页面上的元素按照 HTML 文档流的顺序进行堆叠:后面的元素会覆盖前面的元素。使用 z-index 可以打破这种默认行为。

  • z-index 接受整数值,包括负数、0 和正数
  • 值越大,元素越靠前;值越小,越靠后
  • 未设置 z-index 的定位元素,默认值为 auto,等效于 0
  • 非定位元素(如 position: static)即使设置了 z-index 也不会生效

如何正确使用 z-index

要让 z-index 起作用,必须先给元素设置定位属性。

.example {
  position: relative;
  z-index: 2;
}

上面的例子中,该元素会在同一层叠上下文内高于 z-index 为 1 或 0 的元素。

注意层叠上下文的影响

z-index 并不是全局比较的。浏览器会创建层叠上下文,子元素的 z-index 只在自己的上下文中有效。

  • 每个根元素(如 html>)都有一个初始层叠上下文
  • 设置了 opacity、transform、filter、position 等属性的元素可能创建新的层叠上下文
  • 在一个层叠上下文中,即使子元素 z-index 设为 999,也无法超过另一个更高层级上下文中的低 z-index 元素

常见使用场景

  • 模态框(modal)或弹窗:设置高 z-index(如 1000)确保显示在最上层
  • 导航栏固定在内容上方:使用 z-index: 10
  • 轮播图中的前后箭头:通过 z-index 确保不被图片遮挡

基本上就这些。关键是记住:要使用 z-index,先加 position;同时留意层叠上下文的限制,避免出现“明明 z-index 很大却被盖住”的问题。