-1

我有一个非常大的 HTML 表(可以是动态的,即行数和列数不固定)需要打印。显然,不适合同一页的行将打印在下一页上。但我也希望所有不适合同一页面的列都打印在另一页中。我研究了很长时间,但如果不应用经验逻辑,我找不到任何方法来执行此操作。现在,我选择在页面中打印预定义的列数。

能否通过 CSS 属性page-break-afterpage-break-before实现类似的东西?如果是这样,怎么做?

4

1 回答 1

1

你不能用 CSS 来控制它。

规范定义了可能发生分页符的位置:

  1. 在块级框之间的垂直边距中。[...] // 例如表格行之间
  2. 在块容器框内的行框之间。
  3. 在块容器框的内容边缘与其子内容的外边缘之间[...]

http://www.w3.org/TR/CSS2/page.html#allowed-page-breaks

不是其中的一部分。所以一个过宽的表格行必须在一页上,但会超过它的宽度。规范还提到了如何处理这种情况:

在页面模型中格式化内容时,某些内容可能会出现在当前页面框之外。[...] 这些元素的确切格式超出了本规范的范围。[...] 用户代理可以通过多种方式处理位于页面框之外的框,包括丢弃它们或在文档末尾为它们创建页面框。

http://www.w3.org/TR/CSS2/page.html#outside-page-box

换句话说,浏览器可以为所欲为。

在即将到来的CSS3 规范中仍然如此

于 2013-10-31T07:00:26.437 回答