在Firefox,SeaMonkey,Chrome,Opera,Safari,Camino和IE8测试了我为学校建造的一个小网站后,我发现我的网站绝对定位的div都非常一致。
但是,当我开始在IE6和7中测试该网站时,所有的div都不合适并且整个页面都很混乱。
我花了两个星期的谷歌搜索并试图弄清楚问题是什么,但我仍然找不到一致的方法来解决这个问题。
希望我已经足够清楚,对不起,如果我的英语不是很好,这是我的第三语言。
如果您需要更多说明,请随时提出。
感谢任何和所有帮助。
感谢您的时间。
注意:如上所述,我知道有很多解决方案和类似的问题,但是,我找不到能在这种情况下工作的问题。
更新:缩放属性修复了我一直遇到的大部分问题,hasLayout似乎是一个巨大的痛苦。感谢Spudly和Patrik
答案 0 :(得分:5)
这听起来像是经典的“HasLayout”错误,这是每个必须支持旧版IE的Web开发人员生活中的祸根之一。
HasLayout是一个内部标志,IE支持每个元素,决定是正常显示还是奇怪的毛刺。实际上并不是它真正存在的东西,但似乎确实有这种效果。
解决问题的方法是强制有问题的元素获得HasLayout标志。可悲的是,IE没有提供直接的方法来做到这一点;你必须应用一种触发它的风格。
通常,人们选择申请的风格是
.myelelement {
zoom:1;
}
原因首先是zoom
是IE特定的样式表属性,因此这不会影响任何其他浏览器,其次因为zoom:1;
是默认值,所以你'实际上并没有改变任何关于元素的东西。尽管如此,它仍会触发元素获取HasLayout标志,因此应解决您的问题。
希望有所帮助。
答案 1 :(得分:2)
我听说过旧IE中某些布局属性的错误可能会导致您的问题......已经有类似的主题:link。尝试一下,我认为绝对定位不存在问题,可能是父相对定位元素的错误。