如何仅为特定的IE浏览器设置CSS?

时间:2012-01-15 23:26:03

标签: css internet-explorer internet-explorer-8 internet-explorer-7 internet-explorer-6

我有一个CSS / jQuery Checkbox样式脚本:http://jsfiddle.net/BwaCD/

问题是,在当前浏览器中,为了使跨度在输入上浮动,输入的位置必须是绝对的。但在IE8&下面,脚本将无法工作,因此我留下了绝对定位的输入,只是浮动在其他元素上。我不是要求脚本在IE8和IE中工作。下方。

我想知道如果它是IE8及以下版本,我可以使用CSS设置一个特定的样式。我想如果有必要,jQuery是可以接受的,但我认为不是。我知道这可以通过CSS& HTML我只是不知道如何。

7 个答案:

答案 0 :(得分:15)

条件评论会起作用(<!--[if lte IE 8]><stylesheet><![endif]-->),但如果您想在样式表中完成所有操作,那么is a way

body {  
    color: red; /* all browsers, of course */  
    color: green\9; /* IE only */  
}

这里最重要的是&#34; \ 9&#34;,它必须是&#34; \ 9&#34;。我不明白为什么会这样。

编辑:\ 9 hack本身并不够。要排除IE9,您还需要:root hack

:root body {
    color: red\9; /* IE9 only */  
}

IE之外的其他浏览器可能支持:root,因此如果您使用它来定位IE9,请将其与\ 9 hack结合使用。

答案 1 :(得分:10)

答案 2 :(得分:3)

您可以使用Internet Explorer的条件注释向HTML根标记添加类名 对于较旧的IE浏览器:

<!--[if lt IE 7]> <html class="no-js ie6 oldie" lang="en"> <![endif]-->
<!--[if IE 7]>    <html class="no-js ie7 oldie" lang="en"> <![endif]-->
<!--[if IE 8]>    <html class="no-js ie8 oldie" lang="en"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en"> <!--<![endif]-->

然后,您可以通过引用适当的类名来定义特定于IE的CSS,如下所示:

.ie8 body {
   /* Will apply only to IE8 */
}

来源:http://paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/

答案 3 :(得分:2)

定位IE的所有版本:

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

除IE之外的一切目标

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

仅限目标IE 7

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

仅限目标IE 6

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

仅限目标IE 5

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

仅限目标IE 5.5

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

目标IE 6和LOWER

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

<!--[if lte IE 6]>
    <link rel="stylesheet" type="text/css" href="ie6-and-down.css" />
<![endif]-->

目标IE 7和LOWER

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

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

目标IE 8和LOWER

<!--[if lt IE 9]>
    <link rel="stylesheet" type="text/css" href="ie8-and-down.css" />
<![endif]-->
<!--[if lte IE 8]>
    <link rel="stylesheet" type="text/css" href="ie8-and-down.css" />
<![endif]-->

目标IE 6和更高

<!--[if gt IE 5.5]>
    <link rel="stylesheet" type="text/css" href="ie6-and-up.css" />
<![endif]-->
<!--[if gte IE 6]>
    <link rel="stylesheet" type="text/css" href="ie6-and-up.css" />
<![endif]-->

目标IE 7和更高

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

目标IE 8和更高

<!--[if gt IE 7]>
    <link rel="stylesheet" type="text/css" href="ie8-and-up.css" />
<![endif]-->
<!--[if gte IE 8]>
    <link rel="stylesheet" type="text/css" href="ie8-and-up.css" />
<![endif]-->

答案 4 :(得分:2)

答案 5 :(得分:1)

我有一个有用的IE 10和11解决方案。脚本检查IE和版本,然后将.ie10或.ie11类附加到标记。

通过这种方式,您可以编写特定的规则,例如.ie10 .something {},只有在浏览器为IE 10或11时才会应用它们。

检查出来,它对于优雅降级很有用,在一些商业网站上进行测试而不是真正的hacky:http://marxo.me/target-ie-in-css

答案 6 :(得分:0)

我用这种方式解决了Internet Explorer中的抓取光标:

.grab_cursor {
    cursor: grab;
    cursor: -moz-grab;
    cursor: -webkit-grab;
    cursor: url('../img/cursors/openhand.cur'), url('img/cursors/openhand.cur'), n-resize; /* standard: note the different path for the .cur file */
    cursor: url('img/cursors/openhand.cur'), n-resize\9; /* IE 8 and below */
    *cursor: url('img/cursors/openhand.cur'), n-resize; /* IE 7 and below */
    _cursor: url('img/cursors/openhand.cur'), n-resize; /* IE 6 */
}
  

在Internet Explorer for Windows(包括版本8)中,如果是   相对URI值在外部样式表文件中指定   基URI被认为是包含该文档的URI的URI   元素而不是声明的样式表的URI   出现。

文件树

index.html
css/style.css -> here the posted code
img/cursors/openhand.cur

好的参考资料