4

为所有浏览器开发,然后争取 IE 兼容性是所有 Web 开发过程中众所周知的步骤。

不是网络集成商,您是否知道任何适合 IE 的通用兼容性样式表(在我的情况下,我只关心 IE7,但我会让所有版本的问题都开放)

4

2 回答 2

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 polyfills。以我的经验,它们只会带来比其价值更多的麻烦,并添加不必要的标记。

了解一些关于优雅降级/渐进增强的知识。

另一个答案提到了 IE7.js,我认为这很好,但我不记得它有多么有用。您肯定需要填充缺少的 JS 函数(如果您使用的是 js),例如 IE <= 8 中的 Array.indexOf。我刚刚发现这个 ECMAScript5 shim 看起来不错: https ://github.com/kriskowal/ es5-垫片

于 2012-11-20T23:15:25.017 回答
1

我通常使用 Eric Meyer 的 CSS 重置 (http://meyerweb.com/eric/tools/css/reset/),这是一个很好的简单起点。

您可能还希望考虑使用 ie7js (http://code.google.com/p/ie7-js/),它使用 JavaScript 让不同版本的 IE 表现得更好。

于 2012-11-20T23:15:54.043 回答