CSS 停止表格行内的分页符

Ibr*_*208 1 html css html-table page-break-inside

我试图避免在可能超过一页的 HTML 表格的行内出现分页符。我正在使用 Internet Explorer Print Preview 和 BCL EasyPDFSDK 来转换为 PDF 以进行测试。我以各种组合将以下 CSS 样式应用于<td>元素,但对于每个元素,我都得到了不想要的结果:

td {
    page-break-inside: avoid !important;
    white-space: nowrap;
    overflow: hidden;
    margin: 4px 0 4px 0;
}
Run Code Online (Sandbox Code Playgroud)

我相信这page-break-inside: avoid !important是有效的,但只是在<td>水平上。例如,我会看到在第一页末尾<tr>有一个<td>所有文本完整无缺的<td>标签,但以下标签将在下一页上所有文本完整无缺。

我不认为你应该应用格式,<tr>所以我不确定如何解决这个问题。

我应该将 CSS 应用于<tr>还是有另一种方法来实现这一点?

谢谢您的帮助!

Ibr*_*208 5

结果我需要折叠表格元素上的边框并将我的填充减少到只有 1px 使用

table { border-collapse: collapse; }
td {
    page-break-inside: avoid !important;
    white-space: nowrap;
    overflow: hidden;
    padding: 1px;
    font-size: xx-small;
}
Run Code Online (Sandbox Code Playgroud)

我还将字体大小设置为xx-small以防万一导致问题。当我折叠边框时,这个问题似乎主要得到解决,所以我想知道表格是否因此在分割行时出现问题。

干杯!

编辑:

自从处理这个问题后,我发现行拆分在较新的 Web 浏览器中处理得更好。如果您遇到此问题,我强烈建议将 IE 更新到至少 11。