我使用以下CSS来获得悬停的灰度效果。 Firefox中的问题是它会略微模糊图像并将其向右移动1-2个像素。我不确定为什么会这样。
这是一个固有的问题吗?我该如何解决?
.zd-stack img: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+ */
-webkit-transition: all .6s ease; /* Fade to color for Chrome and Safari */
-webkit-backface-visibility: hidden; /* Fix for transition flickering */;
}
我想使用CSS,但不知道如何纠正这个小问题!
答案 0 :(得分:1)
Firefox和SVG灰度之间的问题现在似乎已得到解决。
请参阅代码示例:https://jsfiddle.net/tzi/rjotsz0p/
Firefox支持版本35(2015年1月)的grayscale()
过滤器,因此您现在可以拥有此代码的更好版本:
.zd-stack img {
transition: filter .6s ease; /* Standard (all but IE10+) */
}
.zd-stack img:hover {
filter: gray; /* For IE6-12 */
filter: grayscale(100%); /* Standard (only FF35+ & IE13+) */
-webkit-filter: grayscale(100%); /* For Chrome, Safari & Opera */
}