将"page-break-before"应用于表格行(tr)

spo*_*rts 12 css page-break

根据W3.org,该风格page-break-after适用于块级元素(http://www.w3.org/TR/2004/CR-CSS21-20040225/page.html#page-break-props)

<tr>是一个块级元素(根据这个:http://www.htmlhelp.com/reference/html40/block.html,它是)

我这样做,但分页时打印时没有创建实际的分页符:

  <table>
    <tr><td>blah</td></tr>
    <tr><td>blah</td></tr>
    <tr style="page-break-after: always"><td>blah</td></tr>
    <tr><td>blah</td></tr>
  </table>
Run Code Online (Sandbox Code Playgroud)

我这样做是正确的吗?

如果<tr>不是块级元素:我怎么想实现这个分页符?

注意:之前的代码只是一个例子,但我想要做的是在表格的每5行放一个分页符,所以如果你知道任何有关该案例的提示,将不胜感激

gue*_*est 12

在里面<head>,设置这种风格

<head>
    <style>
        @media print {
            tr.page-break  { display: block; page-break-before: always; }
        }   
    </style>
</head>
Run Code Online (Sandbox Code Playgroud)

这样,它会在此表格行之前的打印过程中产生分页符.

<tr class="page-break">
</tr>
Run Code Online (Sandbox Code Playgroud)

  • 另外(为了防止丑陋的tds,因为tr是显示块)我插入了一个带有'page-break'类和height = 0的空tr. (7认同)
  • 这实际上似乎不起作用或改变任何东西,至少在Chrome 50中没有. (7认同)