html - IE6和7绝对定位Bug

标签 html css internet-explorer css-position internet-explorer-6

<分区>

在用 Firefox、SeaMonkey、Chrome、Opera、Safari、Camino 和 IE8 测试我为我的学校构建的一个小网站后,我发现我网站的绝对定位 div 都非常一致。

但是,当我开始在 IE6 和 7 中测试网站时,所有的 div 都错位且在页面上杂乱无章。

我花了两周的时间在谷歌上搜索并试图找出问题所在,但我仍然找不到解决此问题的一致方法。

希望我已经足够清楚了,如果我的英语不是很好,那我很抱歉,这是我的第三语言。

如果您需要更多说明,请随时询问。

感谢任何帮助。

感谢您的宝贵时间。

注意:如上所述,我知道有很多解决方案和类似的问题,但是,我无法找到适用于这种情况的解决方案。

更新:Zoom 属性修复了我一直遇到的大部分问题,hasLayout 似乎是一个巨大的痛苦。感谢 Spudly 和 Patrik

最佳答案

这听起来像是经典的“HasLayout”错误,这是每个必须支持旧版 IE 的 Web 开发人员生活中的祸根之一。

HasLayout 是 IE 对每个元素持有的一个内部标志,它决定了它是正常显示还是出现奇怪的故障。实际上,这并不是它的真正用途,但它似乎确实具有这种效果。

解决问题的方法是强制有问题的元素获得 HasLayout 标志。遗憾的是,IE 没有提供直接的方法来做到这一点;您必须应用触发它的样式。

通常,人们选择申请的风格是

.myelelement {
    zoom:1;
}

这样做的原因首先是 zoom 是 IE 特定的样式表属性,因此这不会影响任何其他浏览器,其次是因为 zoom:1; 是默认值,因此您实际上并没有更改该元素的任何内容。尽管如此,它仍然会触发元素获得 HasLayout 标志,因此应该可以解决您的问题。

希望对您有所帮助。

关于html - IE6和7绝对定位Bug,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4871137/

相关文章:

css - div 背景的不透明度不影响 IE 8 中包含的元素?

jquery - Colorbox 更改关闭按钮图像

css - IE6 不让 JS 设置属性

html - 绝对 div 内的表 100% 高度

html - 为什么我的 bootstrap 列重叠?

javascript - HTML 解析错误 KB927917 IE8

javascript - 向上滚动时隐藏菜单

列表类型圆圈的 HTML 特殊字符

html - 忽略 css 中的最小宽度

css - 没有功能的列表样式图像