如何只在IE上加载CSS样式表

前言:IE一直是特殊的一个浏览器,我们可以使用一些方法来指定样式表只在IE浏览器下被加载。

IE9以及低于IE9版本 :
可以使用条件注释语句来加载特定于ie的样式表。如下所示,使用外部样式表。

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

但是如果是IE10以上时,这个办法就不是很适用了。

IE10或IE11:
使用媒体查询(-ms-high-contrast)来加载样式表。由于-ms-high-contrast是微软特有的(并且只在IE 10+中可用),所以只能在Internet Explorer 10或更高版本中解析。

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
     /* IE10+ CSS styles go here */
}

微软 Edge12 :可以使用@supports
@supports的参考文章

@supports (-ms-accelerator:true) {
  /* IE Edge 12+ CSS styles go here */ 
}

总结
如果我们想只针对IE加载样式表,只需要设置条件注释和-ms-high-contrast媒体查询即可。

相关推荐