z-index - CSS(层叠样式表) 编辑
z-index
属性设定了一个定位元素及其后代元素或 flex 项目的 z-order。 当元素之间重叠的时候, z-index 较大的元素会覆盖较小的元素在上层进行显示。
本互动示例中源代码储存在 GitHub 仓库中。若你想要为互动示例项目贡献(代码),请克隆 https://github.com/mdn/interactive-examples 并给我们发送合并代码请求。
对于一个已经定位的盒子(即其 position
属性值不是 static
,这里要注意的是 CSS 把元素看作盒子),z-index
属性指定:
- 盒子在当前堆叠上下文中的堆叠层级。
- 盒子是否创建一个本地堆叠上下文。
语法
/* 字符值 */
z-index: auto;
/* 整数值 */
z-index: 0;
z-index: 3;
z-index: 289;
z-index: -1;/* 使用负值降低优先级 */
/* 全局值 */
z-index: inherit;
z-index: initial;
z-index: unset;
z-index
属性可以被设定为关键词 auto
或 <integer>
。
取值
auto
- 盒子不会创建一个新的本地堆叠上下文。在当前堆叠上下文中生成的盒子的堆叠层级和父级盒子相同。
<integer>
<integer>
(整型数字)是生成的盒子在当前堆叠上下文中的堆叠层级。此盒子也会创建一个堆叠层级为 0 的本地堆叠上下文。这意味着后代(元素)的 z-indexes 不与此元素的外部元素的 z-indexes 进行对比。
格式化语法
auto | <integer>
示例
HTML
<div class="wrapper">
<div class="dashed-box">Dashed box</div>
<div class="gold-box">Gold box</div>
<div class="green-box">Green box</div>
</div>
CSS
.wrapper {
position: relative;
}
.dashed-box {
position: relative;
z-index: 1;
border: dashed;
height: 8em;
margin-bottom: 1em;
margin-top: 2em;
}
.gold-box {
position: absolute;
z-index: 3; /* put .gold-box above .green-box and .dashed-box */
background: gold;
width: 80%;
left: 60px;
top: 3em;
}
.green-box {
position: absolute;
z-index: 2; /* put .green-box above .dashed-box */
background: lightgreen;
width: 20%;
left: 65%;
top: -25px;
height: 7em;
opacity: 0.9;
}
结果
规范
Specification | Status | Comment |
---|---|---|
CSS Transitions animation behavior for z-index | Working Draft | Defines z-index as animatable. |
CSS Level 2 (Revision 1) z-index | Recommendation | 原始定义 |
浏览器兼容性
BCD tables only load in the browser
本页面的兼容性表格由结构化数据生产。若你想要贡献数据,请移步 https://github.com/mdn/browser-compat-data 并给我们发送合并代码请求。参阅
- CSS
position
属性 - 理解 CSS z-indexes
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论