为所有浏览器开发,然后为IE兼容性而战是所有web开发过程中众所周知的一个步骤。
不是web集成商,你知道有没有适合IE的通用兼容性样式表(在我的例子中,我只关心IE7,但我会让这个问题对所有版本开放)
发布于 2012-11-21 07:15:25
normalize.css是一个很好的重置工具,解决了很多跨浏览器的问题。http://necolas.github.com/normalize.css/
如果你想要预制的组件,Twitter Bootstrap是很好的选择。它与IE兼容。如果你决定使用Bootstrap,它的重置实际上是从normalize.css改编的(所以你不需要两者)
如果您是从头开始,HTML5样板也可能对一些最佳实践标记有所帮助: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多填充。根据我的经验,它们只会带来更多的麻烦,添加不必要的标记。
了解一些关于优雅降级/渐进式增强的知识。
另一个回答提到了IE7.js,我认为它很好,尽管我记不清它有多有用了。您肯定需要填充缺少的JS函数(如果您使用的是js),比如IE <= 8中的Array.indexOf。我刚刚找到了这个ECMAScript5填充程序,它看起来非常不错:https://github.com/kriskowal/es5-shim
发布于 2012-11-21 07:15:54
我通常使用Eric Meyer的CSS reset (http://meyerweb.com/eric/tools/css/reset/),这是一个很好的简单起点。
您可能还希望考虑使用ie7js (http://code.google.com/p/ie7-js/),它使用JavaScript使不同版本的IE表现得更好。
https://stackoverflow.com/questions/13483829
复制相似问题