【问题标题】:Printing a table as two parts in Javascript在Javascript中将表格打印为两部分
【发布时间】:2011-07-07 06:45:15
【问题描述】:

我应该打印一张表格,但表格不适合纸张。我必须打印成两部分。我该怎么办?

请帮帮我。

【问题讨论】:

  • 添加更多细节,代码......
  • 我怀疑是否有任何方法可以判断用户选择的纸张尺寸,但使用 CSS page-break-before 和 page-break-after 选项,您至少应该能够配置您的网页可以在 A4 等标准纸张尺寸(以及任何美国同等尺寸的纸张)上打印。
  • HTML 打印最麻烦。您可以插入分页符,但实际上没有内置功能可以让您完全控制输出。另一方面,一个更具描述性的问题会有所帮助。

标签: javascript html printing html-table


【解决方案1】:

使用THEAD, TFOOT, and TBODY elements 可以解决问题而无需使用javascript。以下是 W3C 文档的引述:

表格行可以组合成一个表格 头、桌脚和一个或多个 表体部分,使用 THEAD, TFOOT 和 TBODY 元素, 分别。这种划分使 支持滚动的用户代理 表体独立于 表头和脚。当长桌 印有表头和脚 信息可能会在每个重复 包含表格数据的页面。

请注意,如果包含,tfoot 必须在 tbody 之前:

<table>
  <thead>
    <tr>
      <th>Col 1 heading</th>
      <th>Col 2 heading</th>
    </tr>
  </thead>
  <tfoot>
    <tr>
      <th>Col 1 footer</th>
      <th>Col 2 footer</th>
    </tr>
  </tfoot>
  <tbody>
    <tr>
      <td>Col 1 data</td>
      <td>Col 2 data</td>
    </tr>
    <tr>
      <td>Col 1 data</td>
      <td>Col 2 data</td>
    </tr>
  </tbody>
</table>

打印表格时,thead 中的行应在每一页的表格顶部重复。同样,tfoot 中的行(如果包含)应在打印表格时打印在每一页的表格底部。这取决于用户代理(例如,浏览器)来执行此操作,但我认为大多数现代浏览器都可以正确处理此问题——尽管我从未测试过它。我很想知道你过得怎么样。

【讨论】:

    猜你喜欢
    • 2014-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-11
    • 2015-11-06
    • 2016-09-24
    相关资源
    最近更新 更多