我有一个相当大的表,它被分成带有间隔行的较小部分
<table>
<tr><th>Heading</th>...</tr>
<tr><td>Content</td>...</tr>
<tr><td>Content</td>...</tr>
<tr><td>Content</td>...</tr>
<tr class='spacer_row'><td></td></tr>
<tr><th>Heading</th>...</tr>
<tr><td>Content</td>...</tr>
<tr><td>Content</td>...</tr>
<tr><td>Content</td>...</tr>
<tr class='spacer_row'><td></td></tr>
<tr><th>Heading</th>...</tr>
<tr><td>Content</td>...</tr>
<tr><td>Content</td>...</tr>
<tr><td>Content</td>...</tr>
<tr class='spacer_row'><td></td></tr>
.........
.........
</table>
我正在创建print.css,如果需要,我想在spacer_row
强制分页。
我如何使用分页符css属性?
答案 0 :(得分:1)
答案 1 :(得分:0)
尝试一下,虽然我自己没有测试过。我在div,p和其他标签上使用它的页面上有很好的结果。可能会工作:
CSS (告诉浏览器避免在tbody标记内分页)
tbody {page-break-inside:avoid}
HTML (在tbody标记中包装每组行并保留您的间隔行)
<table>
<tbody>
<tr><th>Heading</th>...</tr>
<tr><td>Content</td>...</tr>
<tr><td>Content</td>...</tr>
<tr><td>Content</td>...</tr>
<tr class='spacer_row'><td></td></tr>
</tbody>
<tbody>
<tr><th>Heading</th>...</tr>
<tr><td>Content</td>...</tr>
<tr><td>Content</td>...</tr>
<tr><td>Content</td>...</tr>
<tr class='spacer_row'><td></td></tr>
</tbody>
<tbody>
<tr><th>Heading</th>...</tr>
<tr><td>Content</td>...</tr>
<tr><td>Content</td>...</tr>
<tr><td>Content</td>...</tr>
<tr class='spacer_row'><td></td></tr>
</tbody>
<tbody>
.........
.........
</tbody>
</table>
这是一个很好的开始测试。
在生产中,我会避免实际放置page-break-inside:避免在所有tbody标签上使用css,而是创建一个可以应用于tbody或任何容器标签的css类。这就是原因:我在IE中发现了一个错误(一直到IE8),如果你嵌套容器,那个CSS和IE被迫在内部分页,IE似乎会截断页面的其余部分。
不幸的是,这个w3schools.com page表示支持分页内部的唯一浏览器是opera。希望将来有更好的支持