我知道如果您在Internet Explorer中,可以将条件语句加载到不同的CSS文件中,但是您可以在CSS文件中执行此操作吗?
我的情况是,如果是Internet Explorer,我希望右边距为20,如果是其他任何浏览器,则为10。
答案 0 :(得分:14)
处理此问题的最简单方法是使用HTML中的条件,在页面的其余部分放置一个具有特定ID的div。
<!--[If IE 8]>
<div id="IE8">
<![endif]-->
.
.
.
<!--[If IE 8]>
</div>
<![endif]-->
然后,您的CSS可以执行此操作:
#IE8 div.whatever { ... }
这种方式使得所有这些CSS黑客都不必要。
答案 1 :(得分:2)
CSS没有正式的条件注释语法。只有条件的HTML和JavaScript评论,因此请对其进行创作(John Fisher单向显示)。
你可以通过使用众所周知的CSS hacks来模拟条件CSS,但我宁愿不这样做。他们可能会在IE的任意版本中意外破解或以其他方式工作,因为黑客攻击是为了利用IE处理CSS的错误。
答案 2 :(得分:2)
像this one这样的黑客使用IE无法解释的规则意味着IE停止处理规则,使其可以安全地用于其他浏览器。
像这样:
div.iehack {
margin-right:20px;
voice-family: "\"}\"";
voice-family:inherit;
margin-right:10px;
}
答案 3 :(得分:0)
你会弄乱你的css文件做这些黑客攻击。最好为IE制作一个单独的文件。在常规css文件中将边距设置为10,并在IE特定文件中将其设置为20,这应该在您的常规css文件之后(有条件地)加载。你知道如何做到这一点,并没有理由以任何其他方式做到这一点。