首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >z-index继承了父z-index,还是不继承?

z-index继承了父z-index,还是不继承?
EN

Stack Overflow用户
提问于 2014-04-29 03:15:28
回答 3查看 10.8K关注 0票数 16

我有两个绝对的div。div A上的一项将显示div B(单击+一些javascript代码)。我希望B上的Z索引比A上的更高(我想让B高于A)-

该项有自己的zindex (低于div A zindex)。我以为zindex是由父母的孩子继承的,但似乎不是。

问题是...?如何获取我的“item”的“computed”zindex?

EN

回答 3

Stack Overflow用户

发布于 2014-04-29 03:25:52

不,它不是遗传的。您可以在MDN article中看到它。

但是,请注意,z-index相对于堆叠上下文设置z位置。具有非auto z-index的定位元素将创建堆叠上下文。

这意味着如果你有

代码语言:javascript
复制
<div id="a">
    <div id="b"></div>
</div>
<div id="c"></div>

#a, #b, #c { position: absolute; top: 0 }
#a { z-index: 1; }
#b { z-index: 1000000; }
#c { z-index: 2; }

然后,#c将与#b重叠,即使#b具有更高的z-index

因此,z-index在技术上不是遗传的,但祖先的z-index确实会影响z位置。

我建议阅读What No One Told You About Z-Index

票数 35
EN

Stack Overflow用户

发布于 2014-04-29 03:22:30

你可以说:

绝对div

编辑

来自w3.org spec

绝对

仅适用于定位的元素(位置:绝对;、位置:相对;或位置:固定;)。

Visual formatting model

根据堆叠上下文描述渲染树在画布上绘制的顺序。堆叠上下文可以包含更多的堆叠上下文。从其父堆叠上下文的角度来看,堆叠上下文是原子的;其他堆叠上下文中的框不能位于其任何框之间。每个盒子都属于一个堆叠上下文。给定堆栈上下文中的每个定位框具有整数堆栈级,该整数堆栈级是其在z轴上相对于相同堆栈上下文中的其他堆栈级别的位置。堆栈级别较高的框总是在堆栈级别较低的框前面设置格式。框的堆栈级别可能为负值。在堆叠上下文中具有相同堆栈级别的框将根据文档树顺序从后到前堆叠。根元素形成根堆叠上下文。其它堆叠上下文是由具有除'auto‘之外的'z-index’的计算值的任何定位元素(包括相对定位元素)生成的。堆叠上下文不一定与包含块相关。

无论如何,正如前面提到的,您可以通过以下方式测试div的z索引

代码语言:javascript
复制
window.getComputedStyle(element)
票数 1
EN

Stack Overflow用户

发布于 2014-04-29 03:18:56

您可以使用像Firefox的Firebug这样的客户端调试器来检查计算出的样式:

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23349394

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档