目标IE9或IE8,但不是两者都使用CSS

Tsu*_*oku 10 css internet-explorer css-hack

我知道不应该这样做,但我现在只想快速修复,这将给我时间找到适当的解决方案.

如何使用CSS单独定位IE8因为我尝试追加\9如下:

margin:100px\9;
Run Code Online (Sandbox Code Playgroud)

但是,它也影响IE9,我不希望这样,因为在IE9上整个网站看起来很好.

Dan*_*Dan 18

来自HTML5 Boilerplate,最初来自Paul Irish:

将您的<html>标记更改为:

<!--[if lt IE 7 ]> <html lang="en" class="ie6"> <![endif]-->
<!--[if IE 7 ]>    <html lang="en" class="ie7"> <![endif]-->
<!--[if IE 8 ]>    <html lang="en" class="ie8"> <![endif]-->
<!--[if IE 9 ]>    <html lang="en" class="ie9"> <![endif]-->
<!--[if (gt IE 9)|!(IE)]><!--> <html lang="en"> <!--<![endif]-->
Run Code Online (Sandbox Code Playgroud)

然后IE8会将.ie8类添加到html标记中.所有其他版本的IE也是如此.然后你可以这样做:

.ie8 {
    margin:100px;
}
Run Code Online (Sandbox Code Playgroud)

编辑: 删除了no-js类,请将lang =""属性更新为您的语言.谢谢,没有眼皮.


xem*_*ock 9

这应该仅适用于IE9(也可能是更新的版本):

:root #element-id {
  margin: 400px\9;
}
Run Code Online (Sandbox Code Playgroud)

这是因为:root在IE9之前的版本中没有实现伪类(请参阅http://msdn.microsoft.com/en-us/library/cc351024%28v=vs.85%29.aspx).