【发布时间】:2018-05-24 14:57:12
【问题描述】:
我有一个相当大的 HTML 表格,打印时跨越许多页面。我使用以下代码来确保表格行在打印时不会跨页中断,并且工作正常。
@media print{
tr {
page-break-inside: avoid;
}
}
但是由于某种原因,表格的背景颜色继续跨越页面,我似乎无法弄清楚为什么。
即使表格换行正确发生,表格颜色跨页的屏幕截图。
完整的 CSS 和表格 html 如下:
<style>
table {
border-collapse: collapse;
background-color:#E2EFD9;
}
table, td, th {
border: 1px solid black;
}
td{
padding: 2px;
}
@media print{
table td:last-child {
display:none
}
table th:last-child {
display:none
}
tr {
page-break-inside: avoid;
}
}
</style>
<table>
<tbody>
<tr>
<td style="width: 158px;">
<p>
<strong>Photo</strong>
</p>
</td>
<td style="width: 475px;">
<p>
<strong>Description</strong>
</p>
</td>
<td style="width: 52px;">
<p>
<strong>Select</strong>
</p>
</td>
</tr>
<tr>
etc.....
【问题讨论】:
-
尝试使用溢出:隐藏;
-
在 css 中尝试了媒体打印和表格。不工作:(
-
你能做一个工作的 jsFiddle 吗?
-
一切都好,找到了解决方案。每个 tr 需要单独着色,因为浏览器会读取每行的分页符。
标签: css html printing html-table