为所有浏览器开发,然后争取 IE 兼容性是所有 Web 开发过程中众所周知的步骤。
不是网络集成商,您是否知道任何适合 IE 的通用兼容性样式表(在我的情况下,我只关心 IE7,但我会让所有版本的问题都开放)
为所有浏览器开发,然后争取 IE 兼容性是所有 Web 开发过程中众所周知的步骤。
不是网络集成商,您是否知道任何适合 IE 的通用兼容性样式表(在我的情况下,我只关心 IE7,但我会让所有版本的问题都开放)
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 polyfills。以我的经验,它们只会带来比其价值更多的麻烦,并添加不必要的标记。
了解一些关于优雅降级/渐进增强的知识。
另一个答案提到了 IE7.js,我认为这很好,但我不记得它有多么有用。您肯定需要填充缺少的 JS 函数(如果您使用的是 js),例如 IE <= 8 中的 Array.indexOf。我刚刚发现这个 ECMAScript5 shim 看起来不错: https ://github.com/kriskowal/ es5-垫片
我通常使用 Eric Meyer 的 CSS 重置 (http://meyerweb.com/eric/tools/css/reset/),这是一个很好的简单起点。
您可能还希望考虑使用 ie7js (http://code.google.com/p/ie7-js/),它使用 JavaScript 让不同版本的 IE 表现得更好。