【发布时间】:2012-08-25 00:26:34
【问题描述】:
我正在尝试为 CSS 过滤器设置动画,但找不到有关正确过渡属性的任何信息。它们是什么?
这是一个例子:http://jsbin.com/onijim/3/
【问题讨论】:
-
应该是同一个属性名吧?确保您也正确匹配前缀。
标签: css css-transitions
我正在尝试为 CSS 过滤器设置动画,但找不到有关正确过渡属性的任何信息。它们是什么?
这是一个例子:http://jsbin.com/onijim/3/
【问题讨论】:
标签: css css-transitions
-webkit-transition : -webkit-filter 500ms linear
在 webkit 中工作。我不知道 FF 或 Opera 中的过滤器支持。
我不确定我是否完全理解您的问题。
【讨论】:
这就是我正在使用的。对于 Mozilla,第二个对我有用,但在我的资料中我发现它带有 -moz- 前缀,所以保留两者并没有什么坏处。
-webkit-transition: 1s -webkit-filter linear;
-moz-transition: 1s -moz-filter linear;
-moz-transition: 1s filter linear;
-ms-transition: 1s -ms-filter linear;
-o-transition: 1s -o-filter linear;
transition: 1s filter linear, 1s -webkit-filter linear;
【讨论】:
-webkit-filter 属性添加到无前缀的 transition,例如 transition: 1s filter linear, 1s -webkit-filter linear;
在支持 transition 且不带 -webkit- 前缀的最新版本的 Chrome 中,如果您使用的是 transition-property(没有简写 transition)和像 filter 这样仍需要 -webkit- 前缀的属性,则需要混合使用无前缀和有前缀的代码:
transition-property: width, left, transform, box-shadow, filter, -webkit-filter;
请注意filter 属性与-webkit-filter 重复。这对于不使用前缀的浏览器是必需的,例如 Firefox,在这种情况下 -webkit-filter 会被忽略。
【讨论】:
检查过滤器属性中是否有不同的值:
错误
.link-image {
transition: 0.3s;
filter: brightness(80%);
}
.link-image:hover {
transition: 0.3s;
filter: brightness(10);
}
正确
.link-image {
transition: 0.3s;
filter: brightness(80%);
}
.link-image:hover {
transition: 0.3s;
filter: brightness(100%);
}
【讨论】: