如何仅为Internet Explorer定义CSS样式?
我遇到过:如何仅为Internet Explorer定义CSS样式?,css,internet-explorer,stylesheet,Css,Internet Explorer,Stylesheet,我遇到过: /* for firefox only */ @-moz-document url-prefix() { #main_menu ul ul { top: 37px; } } 它只能用于定义firefox样式,是否有类似的替代方法用于定义仅用于IE的样式?或者这里的“条件样式表”方法被认为是最佳实践 在这个例子中,我只想更改css下拉菜单的上边距,因此ie只需要调整一些样式 多谢各位 ps我遇到过: /* for firefox only */ @-moz-document url
/* for firefox only */
@-moz-document url-prefix() {
#main_menu ul ul {
top: 37px;
}
}
它只能用于定义firefox样式,是否有类似的替代方法用于定义仅用于IE的样式?或者这里的“条件样式表”方法被认为是最佳实践
在这个例子中,我只想更改css下拉菜单的上边距,因此ie只需要调整一些样式
多谢各位
ps我遇到过:
/* for firefox only */
@-moz-document url-prefix() {
#main_menu ul ul {
top: 37px;
}
}
我想说:
<!--[if IE]><!--> <html class="ie"> <!--<![endif]-->
但是我看不到IE中有任何变化。您是在使用真实版本的IE进行测试,还是在开发人员工具中更改版本?例如,IE中的开发人员工具几乎从来没有显示出它在IE 8中应该是什么样子的准确表示 您是否检查了样式规则是否在没有先设置条件的情况下应用?您的CSS选择器可能有问题。我相信你的CSS选择器应该是“.ie#main#u menu ul ul ul”而不是你所拥有的。注意“.ie”后面的空格
您应该将此代码放在常规CSS之后的HTML文件中。现在,您将拥有另一个CSS文件(ie.CSS),该文件将应用于大于(且等于)IE6、大于(且等于)IE8的浏览器
仅供参考,IE 10不再支持条件注释
.ie #main_menu ul ul {
top: 50px !important;
}
<!--[if (gte IE 6)&(lte IE 8)]>
<link rel="stylesheet" href="css/ie8.css" media="screen,all" />
<![endif]-->
div{
top:20px;
*top:10px;
}