我的页面在除IE 7之外的所有浏览器中都能正常工作。在IE7中,div完全脱离了它们的位置。我怀疑它是由于position:fixed
的使用。我尝试使用正确的doctype
建议,但它仍然无济于事。 IE7也说它在标准模式下渲染,所以我不知道问题是什么。
这是jsfiddle链接:
http://jsfiddle.net/FgXS4/
答案 0 :(得分:2)
IE7已知道position:fixed
存在严重问题。
如果你需要支持IE7,你最好的选择是忘记该浏览器的固定定位事物,并让元素滚动到页面的其余部分。编写一个自定义样式表,只针对IE7推出标准CSS,并让IE7用户略微降低浏览体验。这是我对你最佳选择的建议。
有一些黑客可以解决这个问题,特别是 IE9.js ,它会在旧的IE版本中实现一大堆补丁,以使其符合现代标准。这是一个很棒的小脚本。它不能做任何事情,它肯定不会神奇地将IE7变成IE9,但它可能有助于解决这个问题(我知道它有补丁,专门处理IE7的position:fixed
错误),所以它可能值得一试。
当然,您的其他选择是停止支持IE7。老实说,这可能是一个很好的答案。使用IE7的人数下降非常快(甚至比IE6更快);它的使用数据极低,每个月都在降低。您可能会发现自己正在做很多工作来解决这个问题,然后几乎没有人真正从中获益。如果你完全放弃对IE7的支持,你可以节省很多时间。如果你很幸运,也许没有人会注意到。 (即使他们确实注意到,也许它会给他们一个轻推他们需要升级他们的浏览器!)