我遇到了一个问题,让 Firefox 的 filter css 属性在打印页面上正确地进行灰度化。出于某种原因,灰度图像在打印输出上不可见,尽管它按预期显示在屏幕上。在参考了这样的问题之后,我已经到了这一点(简化以演示问题):
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title></title>
<style type="text/css">
.grayscale {
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+ */
filter: grayscale(100%);
}
img {
width:100px;
}
</style>
</head>
<body>
<img class="grayscale" src="http://alltheragefaces.com/img/faces/png/rage-nuclear.png" />
<img src="http://alltheragefaces.com/img/faces/png/rage-nuclear.png" />
</body>
</html>
这是小提琴
是否有可行的解决方法,或者我做错了什么?将过滤器应用于其他元素似乎会导致相同的问题。我将不胜感激任何建设性的意见。
注意:使用 Firefox v20.0.1