IE 6,7,8,9 CSS 兼容性样式表

问题描述 投票:0回答:2

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

不是一个网络集成商,你知道任何适合 IE 的通用兼容性样式表吗(在我的例子中,我只关心 IE7,但我会让这个问题针对所有版本开放)

css internet-explorer
2个回答
5
投票

normalize.css 是一个很好的重置,可以解决很多跨浏览器问题。 https://necolas.github.io/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,我认为它很好,尽管我不记得它有多有用。你肯定需要填充缺少的 JS 函数(如果你使用的是 js),例如 IE 中的 Array.indexOf <= 8. I just found this ECMAScript5 shim which looks pretty good: https://github.com/kriskowal/es5-shim


1
投票

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

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

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.