为所有浏览器开发,然后争取IE兼容性是所有Web开发过程中众所周知的一步。
不是网络集成商,你知道任何适用于IE的通用兼容性样式表(在我的情况下我只关心IE7,但我会让问题为所有版本打开)
答案 0 :(得分:5)
normalize.css是一个很好的重置,可以解决许多跨浏览器问题。 http://necolas.github.com/normalize.css/
如果你想要预先制作的组件,Twitter Bootstrap是好的。它与IE兼容。 如果你决定使用Bootstrap,它的重置实际上是从normalize.css改编的(所以你不需要两者)
如果您从头开始,HTML5 Boilerplate也可能有助于一些最佳实践标记: https://github.com/h5bp/html5-boilerplate
特别是,我建议使用HTML5BP条件注释来定位特定的IE版本,如下所示:
<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
<!--[if IE 8]> <html class="no-js lt-ie9"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->
这意味着在您的CSS中,您可以使用类来解决IE版本特定的问题:
.lt-ie8 .awesome-component { ... }
最后,我建议使用像CSS3PIE这样的javascript polyfill来反对。根据我的经验,他们只会造成比他们更值得的麻烦,增加不必要的标记。
了解优雅降级/渐进增强。
另一个答案提到IE7.js我认为很好,但我不记得它有多么有用。你肯定需要在IE&lt; = 8中填充缺少的JS函数(如果你正在使用js),例如Array.indexOf。我刚刚发现这个看起来非常好的ECMAScript5垫片: https://github.com/kriskowal/es5-shim
答案 1 :(得分:1)
我通常使用Eric Meyer的CSS重置(http://meyerweb.com/eric/tools/css/reset/),这是一个很好的简单起点。
您可能还想考虑使用ie7js(http://code.google.com/p/ie7-js/),它使用JavaScript来让不同版本的IE表现得更好。