Html CSS过滤器在Firefox中不工作

Html CSS过滤器在Firefox中不工作,html,css,Html,Css,我正在尝试CSS过滤器,但它在我的Firefox(15.0)浏览器中不起作用 HTML: 演示: 假设您试图获得灰度图像,请使用此代码重写css代码: .google{ filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'0.

我正在尝试CSS过滤器,但它在我的Firefox(15.0)浏览器中不起作用

HTML:

演示:

假设您试图获得灰度图像,请使用此代码重写css代码:

.google{
    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 3.5+ */
    filter: gray; /* IE6-9 */
    -webkit-filter: grayscale(100%); /* Chrome 19+ & Safari 6+ */
}
​
.google{
过滤器:url(“数据:图像/svg+xml;utf8,#灰度”);/*Firefox 3.5+*/
过滤器:灰色;/*IE6-9*/
-webkit过滤器:灰度(100%);/*Chrome 19+和Safari 6+*/
}
​

更新的JSFIDLE:

灰度限制了在firefox中使用-moz过滤器

要使其正常工作,请使用以下代码段:

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 3.5+ */
filter:url(“数据:图像/svg+xml;utf8,#灰度”);/*Firefox 3.5+*/

此代码将100%适用于您

.google{
    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(100%)
}
.google{
过滤器:url(“数据:图像/svg+xml;utf8,#灰度”);
过滤器:灰色;
-webkit过滤器:灰度(100%)
}

我还遇到了一个问题,在Firefox 39.0中,当我使用

    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 3.5+ */

这对我来说很有用。不知道IE 10+是怎么回事,还没测试过吗

你在Firefox中测试过你的JSFIDLE链接吗?在我的浏览器中,图像完全消失了。如果我删除
过滤器:url(参考资料…
line,它会出现,但没有效果。抱歉,现在应该可以了。我已经在JSFIDLE中更新了链接。这是有效的,但它是唯一能让它工作的语法吗?较新的FF版本不是有简单的语法吗?@user1251698:我不这么认为,但是你可以看看这里FWIW,如何为firefox 3.5取消灰度设置?你刚才复制了吗aspirinemaga的答案并删除评论?@BoltClock:事实上我的答案和aspirinemaga的答案是一样的。这很糟糕。不,我没有。我已经在谷歌上搜索了这个问题,如果答案是一样的,那么我能做什么呢?我不这么认为你们自己写这个?你们有吗?如何在hover上回滚过滤效果从Firefox35(2015年1月)开始,普通的“过滤器:”CSS属性将起到作用。
.google{
    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(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"); /* Firefox 3.5+ */
filter: url("data:image/svg+xml;utf8,&lt;svg xmlns=\'http://www.w3.org/2000/svg\'&gt;&lt;filter id=\'grayscale\'&gt;&lt;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\'/&gt;&lt;/filter&gt;&lt;/svg&gt;#grayscale"); /* Firefox 10+, Firefox on Android */
filter: gray; /* IE6-9 */
filter: grayscale(1); /* Firefox 39 (and above? Don´t know) */
-webkit-filter: grayscale(100%); /* Chrome 19+, Safari 6+, Safari 6+ iOS */