首页 > web前端 > css教程 > 为什么我的 Div 堆叠顺序在 IE6 和 7 中表现不同?

为什么我的 Div 堆叠顺序在 IE6 和 7 中表现不同?

Patricia Arquette
发布: 2024-12-01 10:08:08
原创
632 人浏览过

Why Does My Div Stacking Order Behave Differently in IE6 and 7?

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 值分配给受影响的祖先的定位元素。

  1. 识别创建堆叠上下文的定位祖先。
  2. 使用 JavaScript 或 CSS 为这些祖先分配高 z 索引,强制实现所需的堆叠顺序。

例如,如果 div#parent 包含 div#sign-post,则为 div#parent 指定 z-index 1000将其放置在 div#bottom 上方。

额外的 IE6 问题

IE6 中 div#bottom 顶部额外的 198 像素是由于其内部计算默认保证金。这个问题可以通过显式设置 div#bottom 的边距为 0px 来解决。

以上是为什么我的 Div 堆叠顺序在 IE6 和 7 中表现不同?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板