除了IE9之外,我如何将css样式定位到其他浏览器

时间:2016-07-29 14:52:16

标签: html internet-explorer

我正在尝试为除ie9及以下的所有浏览器定位特定样式。

我这样做是为了针对IE9及以下目标:

<!--[if lte IE 9]>
        <link rel="stylesheet" href="css/ie/ie.min.css">
    <![endif]-->

我不记得除了IE9之外,针对所有其他浏览器的另一种方式。我记得有一种方法可以做到这一点,就像我做的目标IE9及以下,但我不记得了。

任何帮助将不胜感激

1 个答案:

答案 0 :(得分:2)

<!--[if lt IE 9]>
   <link rel="stylesheet" href="css/ie/ie.min.css">
<![endif]-->
<!--[if IE 9]>
   <link rel="stylesheet" href="css/ie/ie-9.min.css">
<![endif]-->
<!--[if gt IE 9]><!-->
   <link rel="stylesheet" href="css/normal.min.css">
<!--<![endif]-->

此方法应为您提供小于IE 9,IE 9和IE 9以上(包括所有非IE浏览器)的单独样式表。最后一个条件的技巧是<!--><!--<!,这会导致Edge和非IE浏览器将ifendif解释为单独的注释。

要特别定位单个版本,请使用<!--[if IE #]>

正如jkdev所指出的那样,因为IE 9是支持条件注释的最后一个版本,所以最后一个条件可能已写入:

<!--[if !IE]><!-->
   <link rel="stylesheet" href="css/normal.min.css">
<!--<![endif]-->

结果与第一个片段相同:只有IE 10-11,Edge和非IE浏览器才会获得css/normal.min.css。之前的IE版本都不会获得此文件,因为它们会评估if !IE