在后续页面上打印带有自定义标题的html表

时间:2012-09-10 19:18:24

标签: html css printing html-table

如果有一个带有表格的html并且您想要打印它,那么表格可能会也可能不会分割,具体取决于表格的长度。如果它分裂,有一种方法可以重复表格的标题,为此你可以添加:

thead {
  display: header-table-group;
}

我想要做的是跳过第一页,因此标题只会显示在后续页面上。

有办法做到这一点吗?

1 个答案:

答案 0 :(得分:1)

如果您的<thead>具有固定的高度,则很容易将其隐藏在第一页上。您所要做的就是将表格嵌套在div overflow: hidden;中,然后在表格中添加负上边距以隐藏其标题。

示例:

<style>
  .headless {
    overflow: hidden;
    line-height: 20px;
  }
  .headless > table {
    margin-top: -22px;
    border-spacing: 0;
  }
  .headless > table > * > tr > * {
    border-right: 2px solid black;
    border-bottom: 2px solid black;
    padding: 0 4px 0 4px;
  }
  .headless > table > * > tr > :first-child {border-left: 2px solid black;}
  .headless > table > thead > :first-child > th {border-top: 2px solid black;}
</style>

<div class="headless">
  <table>
    <thead>
      <tr>
        <th>Header</th>
        <th>Header</th>
        <th>Header</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td>data</td>
        <td>data</td>
        <td>data</td>
      </tr>
      <tr>
        <td>data</td>
        <td>data</td>
        <td>data</td>
      </tr>
    </tbody>
  </table>
</div>

请注意,标题只会显示在支持重复表格标题的浏览器的后续页面中,而不包含Chrome,Safari或Opera。