Internet Explorer 6 和 7 Z-Index 问题
问题:
在包含两个的网页中divs, div#sign-post 应出现在 div#bottom 上方,但这仅发生在 Internet Explorer (IE) 以外的浏览器中6 和 7。此外,IE6 在 div#bottom 的顶部显示了额外的 198 个像素。
解决方案:
了解 IE6 中的 Z-Index/ 7
在大多数浏览器中,z-index 属性允许元素根据分配的值堆叠在其他人的上方或下方。然而,在 IE6 和 7 中,无论 z-index 值如何,定位元素都会创建新的堆叠上下文。
问题
在这种情况下,div#sign-post 有z-index 比 div#bottom 更高,但 IE6/7 会比较其父级的堆叠上下文,在 IE 中,父级的堆叠上下文是由定位元素本身创建的。由于 div#sign-post 和 div#bottom 都没有显式设置 z-index 值,文档顺序决定了它们的堆叠,导致 div#bottom 出现在顶部。
解决方法:
要解决此问题,需要将 z-index 值分配给受影响的祖先的定位元素。
例如,如果 div#parent 包含 div#sign-post,则为 div#parent 指定 z-index 1000将其放置在 div#bottom 上方。
额外的 IE6 问题
IE6 中 div#bottom 顶部额外的 198 像素是由于其内部计算默认保证金。这个问题可以通过显式设置 div#bottom 的边距为 0px 来解决。
以上是为什么我的 Div 堆叠顺序在 IE6 和 7 中表现不同?的详细内容。更多信息请关注PHP中文网其他相关文章!