在我的网络应用中,我需要对一些图片进行去饱和/灰度。我使用以下CSS来实现:
.grayscale {
filter: grayscale(100%); /* Current draft standard */
-webkit-filter: grayscale(100%); /* New WebKit */
-moz-filter: grayscale(100%);
-ms-filter: grayscale(100%);
-o-filter: grayscale(100%); /* Not yet supported in Gecko, Opera or IE */
filter: gray; /* IE6-9 */
-webkit-filter: grayscale(100%); /* Chrome 19+, Safari 6+, Safari 6+ iOS */
filter: url("data:image/svg+xml;utf8,<svg%20xmlns='http://www.w3.org/2000/svg'><filter%20id='grayscale'><feColorMatrix%20type='matrix'%20values='0.3333%200.3333%200.3333%200%200%200.3333%200.3333%200.3333%200%200%200.3333%200.3333%200.3333%200%200%200%200%200%201%200'/></filter></svg>#grayscale"); /* Firefox 3.5+ */
-webkit-filter: grayscale(1); /* Old WebKit */
}
这涵盖了各种各样的浏览器。问题是Safari 5之类的旧版本不受它的影响。我知道像Pixastic这样的jQuery库确实支持那些旧的浏览器,但是我想尽可能少地使用jQuery来尽可能快地加载页面。因此,我的问题是:是否可以检查图像是否被灰度化,如果没有,请使用像Pixastic这样的jQuery插件来执行此操作?
答案 0 :(得分:2)
您可以使用modernizr来检测css过滤器:https://github.com/Modernizr/Modernizr/blob/master/feature-detects/css/filters.js