我找到的示例:http: //jsfiddle.net/KDtAX/487/具有悬停状态和关闭状态的过滤器,但是“#prompt:hover ~ #picbw”对我没有任何作用。当我将其更改为“#picbw:hover”并将其与我链接的示例相结合时,它起作用了。
1)您的 css 选择器不起作用:#prompt:hover ~ #picbw
2)您的 css 不起作用,使用示例中的 css
* 并且您需要 css3 的所有浏览器前缀
#picbw {
...
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%);
-webkit-transition: all .6s ease; /* Fade to color for Chrome and Safari */
-webkit-backface-visibility: hidden; /* Fix for transition flickering */
}
#picbw:hover {
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"); /* Firefox 10+ */
filter: gray; /* IE6-9 */
-webkit-filter: grayscale(100%); /* Chrome 19+ & Safari 6+ */
-moz-filter: grayscale(100%)
}