我正在开发网络应用程序,需要单独识别Microsoft Edge浏览器以应用独特的样式。有没有一种方法可以使用CSS来识别Edge?就像这样:
<!--[if IE 11]>
Special instructions for IE 11 here
<![endif]-->
我正在开发网络应用程序,需要单独识别Microsoft Edge浏览器以应用独特的样式。有没有一种方法可以使用CSS来识别Edge?就像这样:
<!--[if IE 11]>
Special instructions for IE 11 here
<![endif]-->
/* 微软 Edge 浏览器 12-18 版本(Chromium 之前所有版本) */
这个应该可以正常工作:
@supports (-ms-ime-align:auto) {
.selector {
property: value;
}
}
更多信息请参见:Browser Strangeness
/* Microsoft Edge Browser 12-18 (All versions before Chromium) - one-liner method */
_:-ms-lang(x), _:-webkit-full-screen, .selector { property:value; }
那很棒!
// for instance:
_:-ms-lang(x), _:-webkit-full-screen, .headerClass
{
border: 1px solid brown;
}
https://jeffclayton.wordpress.com/2015/04/07/css-hacks-for-windows-10-and-spartan-browser-preview/
_:-ms-lang(x), _:-webkit-full-screen,
- 只有 MS Edge 浏览器“理解”这个规则,其他浏览器会忽略它。该规则后面跟着一个 HTML 元素的类或 ID 名称,因此应用于它。换句话说,如果 CSS 代码需要仅在 Edge 浏览器中应用于 HTML 元素,则将该特殊规则放在元素的类/ID 之前。 - CodeGust,
分隔选择器。这就是为什么这很令人困惑。我仍然不明白为什么其他浏览器会忽略这一点,只有 MS Edge 会将 CSS 应用于逗号后面的选择器。 - r3wt更准确的是针对 Edge(不包括最新的 IE 15):
@supports (display:-ms-grid) { ... }
@supports (-ms-ime-align:auto) { ... }
对于所有 Edge 版本都有效(当前版本最高为 IE15)。
For Internet Explorer
@media all and (-ms-high-contrast: none) {
.banner-wrapper{
background: rgba(0, 0, 0, 0.16)
}
}
For Edge
@supports (-ms-ime-align:auto) {
.banner-wrapper{
background: rgba(0, 0, 0, 0.16);
}
}