IE6和7绝对定位错误

时间:2011-02-02 05:38:13

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

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

但是,当我开始在IE6和7中测试该网站时,所有的div都不合适并且整个页面都很混乱。

我花了两个星期的谷歌搜索并试图弄清楚问题是什么,但我仍然找不到一致的方法来解决这个问题。

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

如果您需要更多说明,请随时提出。

感谢任何和所有帮助。

感谢您的时间。

注意:如上所述,我知道有很多解决方案和类似的问题,但是,我找不到能在这种情况下工作的问题。

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

2 个答案:

答案 0 :(得分:5)

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

HasLayout是一个内部标志,IE支持每个元素,决定是正常显示还是奇怪的毛刺。实际上并不是它真正存在的东西,但似乎确实有这种效果。

解决问题的方法是强制有问题的元素获得HasLayout标志。可悲的是,IE没有提供直接的方法来做到这一点;你必须应用一种触发它的风格。

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

.myelelement {
    zoom:1;
}

原因首先是zoom是IE特定的样式表属性,因此这不会影响任何其他浏览器,其次因为zoom:1;是默认值,所以你'实际上并没有改变任何关于元素的东西。尽管如此,它仍会触发元素获取HasLayout标志,因此应解决您的问题。

希望有所帮助。

答案 1 :(得分:2)

我听说过旧IE中某些布局属性的错误可能会导致您的问题......已经有类似的主题:link。尝试一下,我认为绝对定位不存在问题,可能是父相对定位元素的错误。