2009-12-26 70 views
7

我有TD这样的:阵背景颜色在打印预览中不可见

<td align="left" bgcolor="#FF0000"> 

在浏览器中,是应用了红色的背景色,但是当我看到这个打印预览,没有红色在背景中。字体颜色也是白色的,但打印预览时也会转换为白色。

任何人都知道可以是什么原因?

感谢

回答

4

的背景色印刷是由每个浏览器不同的支持,它往往是默认关闭的。例如,在Safari中,它是名为“打印背景”的打印对话框中的一个选项。我不确定该选项在其他浏览器中的位置。

0

如果可以,请尝试使用CSS,并且如果背景不适用于打印版本,请指定打印css文档。

<link rel="stylesheet" rev="stylesheet" href="style.css" type="text/css" media="all" /> <link rel="stylesheet" rev="stylesheet" href="print.css" type="text/css" media="print" />

基本CSS这里:

td{ background-color:#FF0000; }

+0

正如@ doug-neiner所提到的,这不适用于所有浏览器,只是做CSS不会工作 – 2010-06-10 21:58:33

+0

我没有看到@doug-neiner对CSS的任何提及。 OP在打印时也询问字体颜色。你标记了这个? – Gazzer 2010-06-11 11:21:50

+0

这不起作用。打印时,Chrome和FF都忽略CSS背景颜色。 – 2013-02-23 18:35:14

12

为了使WebKit浏览器(Safari浏览器,谷歌浏览器)打印背景图像或颜色,你应该在以下css样式添加到元素:

-webkit-print-color-adjust: exact; 
+0

作品完美,谢谢Marco! – 2013-01-17 08:02:08

3

我刚刚遇到这个问题,我自己相信我有一个解决方案。本来我这有一个H1标签,但然后使用相同的代码为TD

h1 { 
    background-color:#404040; 
    background-image:url("img/404040.png"); 
    background-repeat:repeat; 
    box-shadow: inset 0 0 0 1000px #404040; 
    border:30px solid #404040; 
    height:0; 
    width:100%; 
    color:#FFFFFF !important; 
    margin:0 -20px; 
    line-height:0px; 
} 

这里有几件事情要注意:

  • 背景颜色是绝对的后备和是有后人大多。
  • background-image使用#404040制作成PNG的1px x 1px像素。如果用户启用了图像,它可能会工作,如果没有...
  • 设置箱子阴影,如果这不起作用...
  • Border = 1/2您希望的高度和/或框的宽度,坚实,颜色。在上面的例子中,我想要一个60px高度的框。
  • 取决于您在边界属性中控制的内容,将高/宽度清零。
  • 字体颜色将默认为黑色,除非您使用!重要
  • 将行高设置为0可以修改不具有物理尺寸的方框。
  • 制作和举办自己的该死的PNG;)

见我fiddle进行更详细的演示。