2013-07-09 89 views
0

我的页面在除IE 7以外的所有浏览器中都能正常工作。在IE7中,div完全脱离了他们的位置。我怀疑它是由于使用position:fixed。尽量多使用正确的doctype,但仍然无济于事。另外IE7说它在标准模式下渲染,所以我不知道问题是什么。 这里是jsfiddle链接: http://jsfiddle.net/FgXS4/布局完全搞砸了IE 7

+0

jsfiddle在IE7中不工作 – mishik

+0

r你给该浮动div? –

+0

@mishik - jsfiddle的编辑用户界面在IE7中不起作用,但是输出页面不起作用;尝试http://jsfiddle.net/FgXS4/embedded/result/ – Spudley

回答

2

IE7已知与position:fixed严重的问题。

如果你需要支持IE7,你最好的选择是忘记浏览器的固定位置,并让元素滚动页面的其余部分。编写一个自定义样式表,仅针对覆盖标准CSS的IE7,并让IE7用户的浏览体验稍微降低。这是我最好的选择。

有人试图解决这个问题,特别是,它在旧的IE版本中实现了一整块补丁,试图让它们符合现代标准。这是一个伟大的小脚本。它不能做任何事情,它确实不会奇迹般地把IE7变成IE9,但它可能有助于解决这个问题(我知道它有补丁,专门处理IE7的position:fixed错误),所以它可能是值得的它一去。

当然,您的其他选择是停止支持IE7。坦率地说,这可能是一个很好的答案。使用IE7的人数正在迅速下降(甚至比IE6还要快);它的使用数字非常低,并且每个月都在降低。你可能会发现自己做了很多工作来解决这个问题,然后几乎没有人从中受益。如果你完全放弃对IE7的支持,你可以节省很多时间。如果你很幸运,也许没有人会注意到。 (即使他们注意到,也许它会给他们一个微调,他们需要升级他们的浏览器!)

+0

如果是我,我肯定会停止支持IE浏览器。我的意思是有道理的。你有一个劣质的产品,所以你得到一个劣质的经验。不是我的问题。尽管由于一些公司政策,我必须遵循它。我试试你提到的IE9.js。 – Aneesh

+1

@ user2067771 - 如果您不能影响公司政策,那就够公平了。但值得注意的是,公司政策必须在某个时候改变(否则你仍然会支持IE5!)。鉴于许多国家的IE7使用率低于IE6,政策更新可能是时候了。如果你有任何影响,现在是时候使用它。看看[统计数据](http://gs.statcounter.com/#browser_version_partially_combined-ww-monthly-201106-201306);这应该足以说服任何人IE7不再值得,因为它创造了额外的工作量。 – Spudley

+0

谢谢。虽然我目前在公司政策中没有发言权,但您说服我停止在我的个人网站上提供给IE7的任何一点支持。 – Aneesh