我有一个非常大的 HTML 表(可以是动态的,即行数和列数不固定)需要打印。显然,不适合同一页的行将打印在下一页上。但我也希望所有不适合同一页面的列都打印在另一页中。我研究了很长时间,但如果不应用经验逻辑,我找不到任何方法来执行此操作。现在,我选择在页面中打印预定义的列数。
能否通过 CSS 属性page-break-after
或page-break-before
实现类似的东西?如果是这样,怎么做?
你不能用 CSS 来控制它。
规范定义了可能发生分页符的位置:
- 在块级框之间的垂直边距中。[...] // 例如表格行之间
- 在块容器框内的行框之间。
- 在块容器框的内容边缘与其子内容的外边缘之间[...]
表列不是其中的一部分。所以一个过宽的表格行必须在一页上,但会超过它的宽度。规范还提到了如何处理这种情况:
在页面模型中格式化内容时,某些内容可能会出现在当前页面框之外。[...] 这些元素的确切格式超出了本规范的范围。[...] 用户代理可以通过多种方式处理位于页面框之外的框,包括丢弃它们或在文档末尾为它们创建页面框。
换句话说,浏览器可以为所欲为。
在即将到来的CSS3 规范中仍然如此