0

我在图像上使用去饱和度使其变为黑白。我希望它在悬停时淡出颜色(使用 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%);
}
4

2 回答 2

0

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

不能开img.desaturate:hover,但开img.desaturate

(我谈论的是你的 jsfiddle 演示,这与你在这里发布的代码不同)

于 2013-02-08T11:54:49.607 回答
0

我只是检查它并让它在 jsfiddle 中工作,就像你想的那样,或者你想要什么,请澄清。

于 2013-02-08T11:56:30.230 回答