Css有条件的IE

时间:2011-01-19 20:49:50

标签: html css

我想说点什么

#mydiv { background-color: (IE ? red : blue) }

我相信这可以通过条件评论完成,但它会很难看。还有其他一些更干净的黑客吗?

3 个答案:

答案 0 :(得分:3)

我已经看到解决这个问题的最干净,最简单的方法是始终为各种版本的IE加载一个特殊的样式表。

将所有IE版本特定样式放在这些文件中。它起初可能看起来不太优雅,但随着您添加越来越多的IE版本特定规则......它使事情变得无比容易。

...更不用说你不必担心浏览器会改变他们处理人们用来实施IE黑客的各种漏洞的方式。

答案 1 :(得分:3)

我怀疑你可以比这更“丑陋”:

所有浏览器的CSS文件内容:

#mydiv { background: blue }

包含该CSS文件后:

<!--[if IE]>
<style type="text/css">
#mydiv { background: red }
</style>
<![endif]-->

当然,您可以为IE加载一个全新的样式表。

答案 2 :(得分:2)

您可能需要考虑html5boilerplate使用的方式:

HTML:

<!--[if lt IE 7 ]> <html lang="en" class="no-js ie6"> <![endif]-->
<!--[if IE 7 ]>    <html lang="en" class="no-js ie7"> <![endif]-->
<!--[if IE 8 ]>    <html lang="en" class="no-js ie8"> <![endif]-->
<!--[if IE 9 ]>    <html lang="en" class="no-js ie9"> <![endif]-->
<!--[if (gt IE 9)|!(IE)]><!--> <html lang="en" class="no-js"> <!--<![endif]-->

的CSS:

#mydiv { background-color: blue; }
.ie7 #mydiv, .ie6 #mydiv { background-color: red; }