CSS3 动画去饱和

标签 css animation css-transitions

我正在图像上使用去饱和度使其变成黑白。我希望它在悬停时淡出颜色(使用 CSS3 过渡),但我似乎无法让它工作。有什么想法吗?

这是一个例子:http://jsfiddle.net/sChY5/下面是我的 CSS

img.desaturate {
-webkit-transition: all 0.2s ease-in-out;
-moz-transition: all 0.2s ease-in-out;
-o-transition: all 0.2s ease-in-out;
transition: all 0.2s ease-in-out;
filter: grayscale(100%);
-webkit-filter: grayscale(100%); -moz-filter: grayscale(100%);
-ms-filter: grayscale(100%); -o-filter: grayscale(100%);
filter: url('data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#grayscale');
filter: gray;
-webkit-filter: grayscale(1);
}

img.desaturate:hover {
filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'1 0 0 0 0, 0 1 0 0 0, 0 0 1 0 0, 0 0 0 1 0\'/></filter></svg>#grayscale");
-webkit-filter: grayscale(0%);
}

最佳答案

您没有将 transition 属性放在 good 类选择器上。

不得在 img.desaturate:hover 上,但在 img.desaturate

(我说的是您的 jsfiddle 演示,它与您在此处发布的代码不同)

关于CSS3 动画去饱和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14771854/

相关文章:

css - 我怎样才能只旋转这个 SVG 的边框并保持中间固定?

jquery - Cycle2 和 Firefox 图像闪烁

jquery - Asp.Net 中的 Bootstrap 3 数据表样式以某种方式被覆盖

javascript - 如何在更改选项卡(焦点)时暂停递归 setTimeout

javascript - 使用 JavaScript 动画化 css 转换

javascript - 显示 : none 的 CSS 不透明度过渡

javascript - 为什么我的网页转换不起作用? (HTML、CSS、JavaScript)

html - 我正在尝试制作计时器,我想将这 3 个按钮放在圆圈中

java - 在 Swing 事件处理程序中呈现无闪烁的 JComponent

java - 在带有动画的 Java 应用程序中使用多个计时器