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

hen*_*ron 10 css internet-explorer internet-explorer-8 internet-explorer-7 internet-explorer-6

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

问题是,在当前的浏览器中,为了使跨度在输入上浮动,输入的位置必须是绝对的.但是在IE8及以下版本中,脚本将无法正常工作,因此我只能使用其他元素的绝对定位输入.我不是要求脚本在IE8及以下版本中运行.

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

Bri*_*and 15

条件注释可以工作(<!--[if lte IE 8]><stylesheet><![endif]-->),但是如果你想在样式表中完成所有操作,有一种方法:

body {  
    color: red; /* all browsers, of course */  
    color: green\9; /* IE only */  
}
Run Code Online (Sandbox Code Playgroud)

这里最重要的是"\ 9",它必须是"\ 9".我不清楚为什么会这样.

编辑:\ 9黑客本身是不够的.要排除IE9,您还需要:roothack:

:root body {
    color: red\9; /* IE9 only */  
}
Run Code Online (Sandbox Code Playgroud)

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