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

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

IE9以及低于IE9版本 :

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

?
1
2
3
<!--[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+中可用)css3导航菜单,所以只能在Internet Explorer 10或更高版本中解析。

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

微软 Edge12 :可以使用@supports

@supports的参考文章

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

总结

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

上一篇:解决VS2010链接错误:LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏


下一篇:JSTL(JSP Standard Tag Library ,JSP标准标签库)