要仅在IE浏览器中定位元素,我将使用
IE6:
* html #nav li ul { left: -39px !important; border: 1px solid red; }
IE7:
*+html #nav li ul { left: -39px! important; }
有谁知道如何定位IE8?
我不打算讨论是否应该使用这个方法,但这只会让你为IE8-9设置特定的css属性(注意:它不是一个选择器,所以有点不同于你问):
在每个css声明后使用'\ 0 /',所以:
#nav li ul { left: -39px\0/ !important; }
为了建立另一个答案,你可以这样做为IE6,IE7和IE8分配各种样式:
#nav li ul { *left: -7px !important; /* IE 7 (IE6 also uses this, so put it first) */ _left: -6px !important; /* IE 6 */ left: -8px\0/ !important; /* IE 8-9 */ }
来源:http: //dimox.net/personal-css-hacks-for-ie6-ie7-ie8/
2013更新:IE10 +不再支持条件评论.
原始答案:
有些人似乎很困惑,因为这不回答问题的字母,只有精神 - 所以澄清:
没有浏览器选择器这样的东西.有些黑客可以利用特定浏览器的CSS解析器中的错误和/或故障,但依靠这些可能会让自己陷入失败之中.有一种标准的,可接受的方式来解决这个问题:
使用条件注释仅针对IE.
例:
所有非IE浏览器都会忽略两者中的所有内容作为注释,并且IE版本小于IE8将会跳过它.只有IE8和更高版本才能处理它.2013年更新: IE10 +也将忽略它作为评论.
看看这些:
/* IE8 Standards-Mode Only */ .test { color /*\**/: blue\9 } /* All IE versions, including IE8 Standards Mode */ .test { color: blue\9 }
(来源:David Bloom对IE8标准模式的CSS攻击)
你可以这样使用.它比
-------------------------------------------------------------
div.foo {color:inherit;} .ie7 div.foo {color:#ff8000; }
仅适用于IE8的CSS样式:
.divLogRight{color:Blue; color:Red\9; *color:Blue;}
只有IE8才会是Red.
第一个Blue:适用于所有浏览器.
红色:仅限IE6,7,8
第二蓝:仅限IE6,7
所以Red =仅适用于IE8.
有关浏览器黑客的完整摘要(包括Internet Explorer(IE),Safari,Chrome,iPhone和Opera),请访问此链接:http: //paulirish.com/2009/browser-specific-css-hacks/
这个问题很古老但是......
在打开身体标签后...
就在关闭身体标签之前..
CSS ..
#IE8Body #nav li ul {}
您可以使用条件语句为所有IE浏览器执行此操作,或者通过使用浏览器名称+版本服务器端封装div中的所有内容来定位所有浏览器
基于image72的优秀答案,你可以拥有像这样的高级CSS选择器:
所以在你的CSS中你可以这样做:
.notIE .foo { color: blue; } /* Target all browsers except IE */
.IE9up .foo { color: green; } /* Taget IE equal or greater than 9 */
.IE8 .foo { color: orange; } /* Taget IE 8 only */
.IE7down .foo { color: red; } /* Target IE equal or less than 7 */
.IE8 .foo, .IE9 .foo {
font-size: 1.2em; /* Target IE8 & IE9 only */
}
.bar { background-color: gray; } /* Applies to all browsers, as usual */
/* Maybe show a message only to IE users? */
.notIE #betterBrowser { display: none; } /* Any browser except IE */
.IE #betterBrowser { display: block; } /* All versions of IE */
这很棒,因为:
它完全符合标准(没有丑陋/危险的CSS攻击)
无需单独的样式表
您可以轻松定位任何版本的IE以及复杂的组合