css - @支持(-webkit-flex-wrap : wrap) doesn't return true when Safari does support it

标签 css safari flexbox browser-feature-detection

我使用的是 Safari 7.x。

我有以下总是返回 false 的特征查询。

@supports (-webkit-flex-wrap: wrap) {
}

当 safari 确实理解 -webkit-flex-wrap 时,我需要使用什么语法才能返回 true?

最佳答案

抱歉让您失望了,Safari 目前不支持 CSS @supports 规则。 According to caniuse.comMDN ,它仅在 Firefox 22+、Chrome 28+ 和 Opera 12.1+ 中受支持。您仍然需要为 Internet Explorer 和 Safari 使用基于 JavaScript 的功能检测。

这是一个示例功能检测脚本,它将 supports-webkit-flex-wrap 添加到 DOM 中的根元素。

if ('webkitFlexWrap' in document.documentElement.style) {
    document.documentElement.classList.add('supports-webkit-flex-wrap');
}

然后您可以使用该类名应用样式。

.supports-webkit-flex-wrap {
}

关于css - @支持(-webkit-flex-wrap : wrap) doesn't return true when Safari does support it,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28632231/

相关文章:

html - Safari 浏览器中 CSS 不透明度的不同显示

css - 高度为 100% 的 SVG 永远不会缩小到 150px 以下

css - Flexbox 中的流体高度列?

html - 我想制作一个带有背景颜色的栏,栏中是左对齐的文本和右对齐的列表

javascript - 如何使背景图像在页面打开/刷新时慢慢模糊?

html - html中颜色选择的效率。 RGB vs 十六进制 vs 名称

angular - 锤子 : enable vertical scroll with horizontal swipe

php - 尝试将 PHP header 与 IFrame 一起使用

javascript - HTML <select> 中的 onclick 事件在 Chrome 和 Safari 中不起作用

css - Flexbox:使用 rowspan 的布局