我遇到过:
/* for firefox only */
@-moz-document url-prefix() {
#main_menu ul ul {
top: 37px;
}
}
只能用于定义firefox样式,是否有类似的替代方法用于定义仅与IE一起使用的样式?或者“条件样式表”方法在这里被认为是最佳实践吗?
http://css-tricks.com/how-to-create-an-ie-only-stylesheet/
在这个例子中我只想改变下拉css菜单的上边距,所以只需要调整几个样式即。
谢谢你。ps我遇到过:
我正试图把:
<!--[if IE]><!--> <html class="ie"> <!--<![endif]-->
在头部然后在css中定义:
.ie#main_menu ul ul {
top: 50px !important;
}
但我看不到IE的任何变化。
答案 0 :(得分:2)
您应该在常规CSS之后将此代码放在 HTML 文件中。现在,你将有另一个CSS文件(ie.css)将应用于浏览器Greater Then(和Equal)IE6和Later IE8(和Equal)。
<!--[if (gte IE 6)&(lte IE 8)]>
<link rel="stylesheet" href="css/ie8.css" media="screen,all" />
<![endif]-->
或者您可以在原始CSS文件中使用“star property hack”。在CSS规则前放置一个星标,您将定位IE7及更低版本。例如:
div{
top:20px;
*top:10px;
}
答案 1 :(得分:0)
您是使用REAL版本的IE进行测试还是在更改Developer Tools中的版本?例如,IE中的开发人员工具几乎从未显示出在IE 8中应该是什么样子的准确表示。
答案 2 :(得分:0)
您是否检查过您的样式规则是否在没有条件的情况下应用?可能你的CSS选择器有问题。我相信你的CSS选择器应该是“.ie #main_menu ul ul”而不是你拥有的。注意“.ie”之后的空格
.ie #main_menu ul ul {
top: 50px !important;
}