【发布时间】:2013-04-26 18:00:19
【问题描述】:
我在网上搜索了很多,但我找不到一个跨浏览器解决方案来将 css 背景图像淡化为灰度并返回。
唯一可行的解决方案是应用 CSS3 滤镜灰度:
-webkit-filter: grayscale(100%);
但这仅适用于 Chrome v.15+ 和 Safari v.6+ (如您所见:http://css3.bradshawenterprises.com/filters/)
许多在线页面都在谈论这种灰色元素的解决方案:
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+, Firefox on Android */
filter: gray; /* IE6-9 */
(如您在此处看到的:http://www.karlhorky.com/2012/06/cross-browser-image-grayscale-with-css.html)
但实际上它似乎不适用于 css 背景图像,就像 webkit 过滤器那样。
是否有任何解决方案(可能使用 jquery?)来解决在不太高级的浏览器上对过滤器支持不足的问题?
【问题讨论】:
-
还没绑,第一时间反馈,谢谢
-
对于“canvas+jquery 带过渡效果”的解决方案:stackoverflow.com/questions/7704415/…
标签: css image background cross-browser grayscale