使用媒体查询将 CSS 应用于除 IE 之外的所有浏览器

Posted

技术标签:

【中文标题】使用媒体查询将 CSS 应用于除 IE 之外的所有浏览器【英文标题】:Apply CSS to all browsers except IE using media query 【发布时间】:2018-07-02 21:27:32 【问题描述】:

我找到了一种将媒体查询应用到 IE 的方法:

@media (-ms-high-contrast: none), (-ms-high-contrast: active) 


有没有办法将 CSS 应用到除 IE 之外的所有浏览器?比如:

@media not( (-ms-high-contrast: none), (-ms-high-contrast: active) ) 


我想避免使用 html 标签。

【问题讨论】:

【参考方案1】:

对非 Internet Explorer 的浏览器使用 @supports 查询。 @supports 查询是compatible with all browsers except Internet Explorer。

@supports not (-ms-high-contrast: none) 
   /* Non-IE styles here */

Example on Codepen

【讨论】:

好吧,我现在很困惑。我认为如果浏览器是 Edge,代码将运行 css,因为它说“非 IE”。但是我在边缘浏览器中尝试过,它不起作用。 Chrome 和 Firefox 都可以。 我一定误解了你的评论。您是否尝试过 Codepen 示例?我在 Windows 10 上的 Edge 44/EdgeHTML 18 中尝试过,它看起来是这样的:imgur.com/a/0vYnhWm

以上是关于使用媒体查询将 CSS 应用于除 IE 之外的所有浏览器的主要内容,如果未能解决你的问题,请参考以下文章

CSS:将 CSS 样式应用于除 Material Angular 之外的所有内容

如何将 CSS3 过渡应用于除背景位置之外的所有属性?

Safari:媒体查询未按预期宽度触发

如何将 summarise_each 应用于除一列之外的所有列? [复制]

将border-right应用于除最后一个元素之外的所有元素

Canvas.toDataURL() 适用于除 IE10 以外的所有浏览器