我想说点什么
#mydiv { background-color: (IE ? red : blue) }
我相信这可以通过条件评论完成,但它会很难看。还有其他一些更干净的黑客吗?
答案 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; }