我正在尝试为除ie9及以下的所有浏览器定位特定样式。
我这样做是为了针对IE9及以下目标:
<!--[if lte IE 9]>
<link rel="stylesheet" href="css/ie/ie.min.css">
<![endif]-->
我不记得除了IE9之外,针对所有其他浏览器的另一种方式。我记得有一种方法可以做到这一点,就像我做的目标IE9及以下,但我不记得了。
任何帮助将不胜感激
答案 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浏览器将if
和endif
解释为单独的注释。
要特别定位单个版本,请使用<!--[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
。