我有一些简单的CSS:
#someElement {
background-color:black;
color:white;
}
它在浏览器中看起来没问题,但当我在Firefox中打印它时,它在白色背景上显示为黑色文本。我想这是某种节省墨水的功能,但有什么方法可以绕过它吗?
发布于 2009-04-19 00:06:33
这是一个浏览器设置。在你的CSS中你什么也做不了。在Windows中- File > Page Setup... > Print Background
。
发布于 2014-03-25 18:59:47
我找到了一个解决方案,有点老生常谈,但是有了CSS伪元素,你就可以用胖边框创建背景了。即使在“打印背景”关闭的情况下,边框也会被打印出来,只是让它们变得很粗!请注意,Firefox会将所有白色字体颜色设置为黑色,因此当您创建假黑色背景时,Firefox仍会将文本设置为黑色,从而使文本不可见。不管怎么说,下面是:
HTML:
<div class="redBox">
<div class="content">Black on red</div>
</div>
css:
.redBox {
/* o no, does not work with print */
background-color: red;
}
@media print {
.redBox {
position: relative;
overflow: hidden; /* this might not work well in all situations */
}
.redBox:before {
content: '';
position: absolute;
top: 0;
right: 0;
left: 0;
bottom: 0;
/* and here it is, the background color */
border: 99999px red solid;
z-index: 0; /* was required in my situation */
}
.redBox * {
/* was required in my situation */
position: relative;
z-index: 1;
}
}
发布于 2019-06-14 08:46:19
用于在firefox和IE中显示背景颜色
@media print {
body{
-webkit-print-color-adjust: exact; /*chrome & webkit browsers*/
color-adjust: exact; /*firefox & IE */
}
}
https://stackoverflow.com/questions/764520
复制相似问题