【发布时间】:2013-05-06 16:11:41
【问题描述】:
我遇到了一个问题,让 Firefox 的 filter css 属性在打印页面上正确地进行灰度化。出于某种原因,灰度图像在打印输出上不可见,尽管它按预期显示在屏幕上。在参考了this one之类的问题后,我已经到了这一点(简化以演示问题):
<!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>
这是fiddle
是否有可行的解决方法,或者我做错了什么?将过滤器应用于其他元素似乎会导致相同的问题。如果有任何建设性意见,我将不胜感激。
注意:使用 Firefox v20.0.1
【问题讨论】:
-
+1 表示知道如何正确提出复杂的问题。
-
所以澄清一下,当您在屏幕上查看时,图像是灰度的,但是当您打印出屏幕内容时,灰度不会应用于打印的图像(在纸上?)。
-
关闭,而是灰度化的图像根本不可见。例如,即使打印小提琴页面本身也会导致仅显示彩色图像,而灰度图像不可见(尽管仍然保留布局空间)。
标签: css firefox filter grayscale