使用css查找浏览器版本

时间:2015-07-22 12:46:31

标签: html css internet-explorer-8

我的IE8有问题,所以只有在浏览器不是IE8时我才需要应用一些css

在html中,我可以使用

<!--[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]-->

但我想用CSS

过滤这个

有没有办法可以指示浏览器应用这些样式,如果不是的话 IE8

例如,我怎样才能使这个CSS在IE8中没有任何影响?

@font-face{
//some css
}

3 个答案:

答案 0 :(得分:2)

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

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

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

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

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

除了IE之外的其他浏览器可能支持:root,所以如果你使用它来定位IE9,那么将它与\ 9 hack结合起来。

<强> IE6

最后,我们有下划线黑客,大多数设计师现在都熟悉它。我们使用下划线而不是*符号。这将仅针对Internet Explorer 6.

body {
 color: red; /* all browsers, of course */
 color : green\9; /* IE8 and below */
 *color : yellow; /* IE7 and below */
 _color : orange; /* IE6 */
}

了解更多信息

http://code.tutsplus.com/tutorials/quick-tip-how-to-target-ie6-ie7-and-ie8-uniquely-with-4-characters--net-10575

答案 1 :(得分:1)

IE 8 doesn't support media queries - 您可以使用它(只需在一些广泛的媒体查询中插入您的CSS)。

查看browser-specific CSS hacks herehere的列表。 下面我复制粘贴了一些关于IE 8的内容:

/* Everything but IE6-8 */
:root *> #quince { color: red  }

/* IE7, IE8 */
#veinte { color/*\**/: blue\9; }

答案 2 :(得分:1)

对于特定版本的IE,最好的方法是在HTML中使用条件注释,就像这样(和你提到的那样):

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

但是你也可以这样做只为IE 8:

@media \0screen {
    body { background: blue; }
}

此处有更多信息:http://keithclark.co.uk/articles/moving-ie-specific-css-into-media-blocks/