CSS @supports : mixing "not" with "and" or "or"

标签 css

我想为支持“显示:网格”但不支持 IE/MS Edge 的浏览器提供特定部分的 CSS。你如何混合正面和负面的@support 查询?

你能写“and not”还是有类似的符号?不幸的是,以下方法不起作用。

@supports not (-ms-ime-align:auto) and (display: grid) {
  display: none;
}

最佳答案

您需要另一组括号包围 not表达:

@supports (not (-ms-ime-align: auto)) and (display: grid) {
  .example { display: none; }
}
<p class=example>You are using IE or Microsoft Edge,
or a different browser that does not support <code>display: grid</code>.

这是为了说明not旨在否定 (-ms-ime-align: auto)表达式而不是整个 @supports表达式,这是媒体查询中无穷无尽的困惑来源(其中 not 总是否定整个媒体查询,而不是在使用 and 与更多条件组合时只使用一个条件)。

关于CSS @supports : mixing "not" with "and" or "or",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42143275/

相关文章:

javascript - 使用javascript用另一个字符动态替换一个字符,而不将页面返回到初始状态

iphone safari浏览器html对齐问题

css - 将 CSS 转换为 JavaFx CSS

html - 视频插入到 HTML 网页

javascript - 响应式网格不适应屏幕尺寸。如何调用脚本?

css - 如何调整文本的垂直对齐方式以纠正字体的错位?

CSS悬停视频

html - 如何使图像与文字水平居中?

javascript - KML 文件上的 OpenLayers 彩色多边形

javascript - 如何设置 Google Chrome 语音输入控件的麦克风样式