如何在 CSS 中检测 IE 和 Edge 浏览器?

新手上路,请多包涵

是否有一种标准方法可以在 css 中检测 IE 和 Edge 浏览器?我看到了在 javascript 文件中检测的响应,但我在 css 中寻找一个

原文由 AlreadyLost 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.4k
2 个回答

对于 IE 9 及更低版本,加载条件样式表:

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

IE 10 及更高版本不支持此功能,因此您必须使用媒体查询:

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

对于边 12-15:

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

编辑

适用于 Edge 16+

 @supports (-ms-ime-align:auto) {
    /* Edge 16+ CSS */
}

原文由 Claire 发布,翻译遵循 CC BY-SA 4.0 许可协议

Edge 的公认答案在 Edge 16 中不起作用。

这种替代方法有效:

 @supports (-ms-ime-align:auto) {
    /* IE Edge 16+ CSS */
}

通过 https://stackoverflow.com/a/32202953

(添加新答案,因为我没有评论权限。)

原文由 Jarrod Drysdale 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题