【发布时间】:2017-11-23 13:12:15
【问题描述】:
似乎filter: none; 的位置/顺序在 Safari(速度)中产生了巨大的差异。有人可以对发生的事情提供一个可靠的解释吗?
仅在 Safari 中检查以下两个示例
示例 1:(filter: none; 在 CSS 规则的末尾,它在 Safari 上非常慢)
Example 1 (Slow on safari)
section#pitches>div>div:hover {
opacity: 0.6;
filter: grayscale(0%);
-webkit-filter: grayscale(0%);
filter: none; /* IE 6-9 */
}
示例 2:(将 filter: none; 移到其他浏览器特定的过滤器上方使其更快)
Example 2 (Much faster)
section#pitches>div>div:hover {
opacity: 0.6;
filter: grayscale(0%);
filter: none; /* IE 6-9 */
-webkit-filter: grayscale(0%);
}
我在网上搜索了试图找到解释但没有运气?
我有我的猜测,但据我所知,如果看到像 filter: none; 这样的 CSS 并不会停止检查其他规则?
【问题讨论】:
-
告诉我这是如何在 Safari 上工作的:codepen.io/anon/pen/pwPWzP
-
我还临时删除了我的答案,因为我想知道上述内容在 Safari 中是如何工作的。正如我在评论中所写,使用
filter: none的 hover 规则很可能不是问题,而是filter: gray在 Safari 上导致此问题 -
@LGS关于你发布的codepen,在Safari上真的很慢,与示例1基本相同。
-
好的,这个是如何工作的:codepen.io/anon/pen/Ogmagz
-
不相关但为什么你有这么多前缀呢? -moz-filter 和 -o-filter 甚至都不存在,而且 -ms-filter 是一种不同类型的过滤器,与标准无关,使得 -ms-filter: grayscale(0%) 同样没有意义。
标签: css safari css-filters