【发布时间】:2013-02-23 01:57:05
【问题描述】:
我正在尝试在表格单元格的 print.css 文件中应用不透明度。使用 Firefox 打印时,这些不透明的单元格是完全不可见的。由于页面上的其他元素,打印是在未选中“打印背景颜色和图像”的情况下完成的。然而在 Chrome 上打印是正确的,某些 td 单元格褪色但仍然出现在原地。
样式表参考:
<link rel="stylesheet" type="text/css" href="style.css"/>
<link type="text/css" href="print.css" rel="stylesheet" media="print" />
print.css 文件中的相关 CSS 规则:
td.fade {
-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=30)";
filter: alpha(opacity=30);
-webkit-opacity: 0.3;
-moz-opacity: 0.3;
opacity: .3;
}
所有 td 元素都有一些先前的规则,但没有任何与不透明度冲突的规则。此规则是 print.css 中适用于表格单元格或父级的最后一条规则。
另一个奇怪的问题是 Firefox 中的打印预览显示好像可以正确打印,但实际上并没有。 Firefox 在 print.css 中显示不透明度是否存在错误?我知道正在使用 print.css,因为由于 print.css 文件中的某些规则,打印时没有显示其他表单元素。
【问题讨论】:
-
顺便说一句,我正在测试的 Firefox 版本是当前版本 19.0
-
如果您正在处理纯色(不是图像),请尝试使用 rgba 颜色而不是不透明度
-
打印不是 Firefox 开发中最受关注的话题。曾经提交过这个错误:bugzilla.mozilla.org/show_bug.cgi?id=262019 这个例子:fvsch.com/code/bugs/ff4-print-opacity 你在哪个操作系统上?
-
顺便说一句,永远不需要在属性值处以 0 开头。
-
如果您甚至不打印任何背景颜色/图像,为什么还要打印不透明度?如果这只是为了让布局在屏幕上看起来不错,您可以覆盖打印样式表中的 opactiy。 (或者反过来,为 media=print 声明不透明度。)
标签: css google-chrome firefox opacity printing-web-page