我正在尝试打印一页。在该页面中,我为表格提供了背景颜色。当我在 chrome 中查看打印预览时,它不具有背景颜色属性…
所以我尝试了这个属性:
-webkit-print-color-adjust: exact;
但它仍然没有显示颜色。
.vendorListHeading {
background-color: #1a4567;
color: white;
-webkit-print-color-adjust: exact;
}
<div class="bs-docs-example" id="soTable" style="padding-top: 10px;">
<table class="table" style="margin-bottom: 0px;">
<thead>
<tr class="vendorListHeading" style="">
<th>Date</th>
<th>PO Number</th>
<th>Term</th>
<th>Tax</th>
<th>Quote Number</th>
<th>Status</th>
<th>Account Mgr</th>
<th>Shipping Method</th>
<th>Shipping Account</th>
<th style="width: 184px;">QA</th>
<th id="referenceSO">Reference</th>
<th id="referenceSO" style="width: 146px;">End-User Name</th>
<th id="referenceSO" style="width: 118px;">End-User's PO</th>
<th id="referenceSO" style="width: 148px;">Tracking Number</th>
</tr>
</thead>
<tbody>
<tr class="">
<td>22</td>
<td>20130000</td>
<td>Jim B.</td>
<td>22</td>
<td>510 xxx yyyy</td>
<td>zznn@abc.co</td>
<td>PDF</td>
<td>12/23/2012</td>
<td>Approved</td>
<td>PDF</td>
<td id="referenceSO">12/23/2012</td>
<td id="referenceSO">Approved</td>
</tr>
</tbody>
</table>
</div>
原文由 user2045025 发布,翻译遵循 CC BY-SA 4.0 许可协议
Chrome CSS 属性
-webkit-print-color-adjust: exact;
可以正常工作。但是,确保您有正确的 CSS 用于打印通常很棘手。可以做几件事来避免你遇到的困难。首先,将所有打印 CSS 与屏幕 CSS 分开。这是通过
@media print
和@media screen
完成的。通常只设置一些额外的
@media print
CSS 是不够的,因为在打印时您仍然包含所有其他 CSS。在这些情况下,您只需要注意 CSS 的特殊性,因为打印规则不会自动战胜非打印 CSS 规则。在您的情况下,
-webkit-print-color-adjust: exact
正在工作。但是,您的background-color
和颜色定义正在被其他具有更高特异性的 CSS 击败。虽然我 不赞成 在几乎任何情况下使用
!important
,但以下定义可以正常工作并暴露问题:这是 小提琴(为了便于打印预览而 嵌入)。