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

Alr*_*ost 23 css browser internet-explorer microsoft-edge

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

Cla*_*ire 59

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

<!--[if IE]>
   <link rel="stylesheet" type="text/css" href="ie.css" />
<![endif]-->
Run Code Online (Sandbox Code Playgroud)

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

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

对于Edge 12-15:

@supports (-ms-accelerator:true) {
   /* Edge 12+ CSS */ 
}
Run Code Online (Sandbox Code Playgroud)

编辑

对于Edge 16+

@supports (-ms-ime-align:auto) {
    /* Edge 16+ CSS */ 
}
Run Code Online (Sandbox Code Playgroud)


小智 10

Edge的接受答案在Edge 16中不起作用.

这个替代工作:

@supports (-ms-ime-align:auto) {
    /* IE Edge 16+ CSS */ 
}
Run Code Online (Sandbox Code Playgroud)

通过/sf/answers/2254206741/

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


小智 7

不确定边缘,但目标即10/11你可以使用:

__CODE__


MR_*_*DEV 5

用于支撑边缘 12+ 和 16+ 作为一个衬垫

@supports (-ms-accelerator:true) or (-ms-ime-align:auto) {
     // your css here
}
Run Code Online (Sandbox Code Playgroud)