是否可以为IE(任何版本的ie)和chrome使用不同的css选择器?它是一个普通的顶级属性,在浏览器中显示不同,需要根据浏览器明确调整
答案 0 :(得分:0)
你想要达到什么目标?
如果您想补偿浏览器可以用于的所有差异,例如。 Modernizr的
如果你想为IE添加特殊的css文件你可以使用条件评论他们看起来像这样:
< ! - [如果IE 9]> < link rel =“stylesheet”type =“text / css”th:href =“ie9.csss”/> < ![ENDIF] - >“中
如果你想在css选择器中修复一些东西,你可以使用hack(HACK!意思是不推荐,避免,但如果你真的必须,你的头旁边还有枪......等等)或css类只能用于特定的浏览器(谷歌这里有很多)例如。 http://code.tutsplus.com/tutorials/quick-tip-how-to-target-ie6-ie7-and-ie8-uniquely-with-4-characters--net-10575
最后一个选项学习CSS并找到你犯错的地方,因为可能有些元素大小不同,并且与位置顶部造成1-2 px差异
答案 1 :(得分:0)
单独使用CSS无法做到这一点。你需要所谓的"条件评论"如下:
<!--[if IE 8]>
<p>This is IE 8</p>
<![endif]-->
这些内容已添加到您的HTML中,可以通过多种方式使用。我使用它们的两种主要方式是:
<html>
或其他某个父标记上的类,并使用CSS规则选择其中的任何子标记我意识到第二种描述可能听起来有点复杂,但它实际上非常简单,所以这里有一个例子:
<!DOCTYPE HTML>
<!--[if IE 8]>
<html lang="en-US" class="ie8">
<![endif]-->
<![if !IE]>
<html lang="en-US">
<![endif]>
...
<body>
<div class="someClass"></div>
</body>
...
然后,在您的CSS中,使用类似于.ie8 .someClass
答案 2 :(得分:0)
欢迎来到俱乐部!无论如何,虽然你可以尝试在元素上设置特定于浏览器的css,但实际上你不能保证它会像你想象的那样完全 。因为它取决于这些浏览器如何处理这些css类,所以你无能为力。您可以尝试为IE设置不同的css类:
<!--[if lt IE 9]>
<html class="ie">
<![endif]-->
<!--[if (!IE) | (IE 9)]><!-->
<html>
<!--<![endif]-->
请注意,这些实际上是注释行,但即读取这些行并设置用户定义的css类&#34;即&#34;到html元素(您可能会注意到Chrome和Firefox忽略了这些语句)。然后你可以使用这个css,例如;
html.ie div{
top: 0;
}
我知道,处理这些跨浏览器即bs真的很烦人。希望这有帮助