Css FF4溢出和z索引问题(子级不溢出另一个父级)
我在FF4中遇到了这个看似简单的问题。 在下面的代码中,我需要P1_子对象溢出并放置在P2_子对象之上。 然而,P1_孩子消失在P2后面,甚至不说P2_孩子 我错过了一些简单的东西吗Css FF4溢出和z索引问题(子级不溢出另一个父级),css,html,overflow,positioning,z-index,Css,Html,Overflow,Positioning,Z Index,我在FF4中遇到了这个看似简单的问题。 在下面的代码中,我需要P1_子对象溢出并放置在P2_子对象之上。 然而,P1_孩子消失在P2后面,甚至不说P2_孩子 我错过了一些简单的东西吗 <div> <div id="P1" style="position:relative; z-index: 21;"> <div id="P1_child" style="z-index: 2;"></div> </div> <
<div>
<div id="P1" style="position:relative; z-index: 21;">
<div id="P1_child" style="z-index: 2;"></div>
</div>
<div id="P2" style="position:relative; z-index: 21;">
<div id="P2_child" style="z-index: 1;"></div>
</div>
</div>
提前感谢您需要将position:absolute分配给子div,否则z-index将不起作用,这样它们将相对于其父级进行定位,就像它们具有position:relative一样
您还需要从父div中删除z-index,因为当您将z-index指定给相对定位的元素时,子元素的位置是相对于其父元素的堆叠上下文的。您有完整的文档
或者检查并在中测试是否忘记包含代码?您的代码对我来说很好:您缺少堆叠上下文。一个非常奇怪的概念,导致意外的行为。短版本;z-index-e不是全局的,而是有范围的。更多信息请访问@denisk,您在JSFIDLE示例中复制得很糟糕,两个父div都有z-index:21很好的链接,谢谢。如果我正确理解堆叠顺序,请参阅下面的答案。我将尝试使用绝对位置的子项来确定堆叠顺序。P1_子项的堆叠顺序为21.2,P2_子项的堆叠顺序为21.1。那么P1\u child应该溢出并出现在P2\u child之上?由于复杂的原因,家长的z指数需要相同。检查以更好地理解,或者。它没有21.2或21.1,它有21,在这21之内,它有2。。。P1 z-index:21与P2 z-index:21直接竞争,P1_子项直接取决于P1的定位,P2_子项也直接取决于P2ok child作为绝对en自动z索引执行此操作。IE7仍然有一个问题,如果有人想对这个问题发表评论的话,它看起来像是一个堆垛顺序错误。我自己仍然有IE7的问题,从我得到的答案来看,这对我来说是有效的
<div>
<div id="P1" style="position:relative">
<div id="P1_child" style="z-index: 2; position:absolute">P1</div>
</div>
<div id="P2" style="position:relative">
<div id="P2_child" style="z-index: 1; position:absolute">P2</div>
</div>
</div>