CSS:IE7选择器

时间:2009-12-21 00:05:35

标签: css internet-explorer

如何用纯(有效)CSS选择IE7?

5 个答案:

答案 0 :(得分:5)

如果你不想使用conditional comment(在CSS之外,例如定义一个单独的<style>部分),你唯一可以使用的是CSS Hacks。请参阅here以获取“仅限IE7”的黑客攻击。

答案 1 :(得分:3)

IE确实支持conditional comments,这是一种特定于IE的HTML注释语法。您可以使用它们来包含特定于IE7的CSS,例如

<!--[if IE 7]>
<link rel="stylesheet" type="text/css" href="ie7.css" />
<![endif]-->

遗憾的是,CSS中没有相应的内容。但是,正如其他答案中所提到的,有一些有效的CSS黑客可以用来将CSS规则定位为IE 7。

我个人更喜欢条件注释语法,因为它更明确一些,但你可以通过注释使黑客明确。

答案 2 :(得分:2)

如果您不想为IE黑客提供单独的样式表,这是使用条件注释的另一种方式:

<!--[if lt IE 7]><body class="ie6"><![endif]-->
<!--[if (gte IE 7)&(lt IE 8)]><body class="ie7"><![endif]-->
<!--[if gte IE 8]><!--><body><!--<![endif]-->
    ...page content...
</body>

这给IE6,IE7和[所有其他浏览器]一个不同的body元素类。现在你可以编写如下规则:

body.ie7 div.scroll { padding-bottom: 16px; }

答案 3 :(得分:0)

表达式有效吗?如果是的话:

cssAttr: expression( /msie 7/i.test( navigator.userAgent ) ? '#ie7val' : '#0th3r1' );

我非常怀疑它们是不是,从技术上说这是CSS,但它实际上是伪装的JavaScript!

答案 4 :(得分:0)

IE7-Only css jack:

*:first-child+html{ }