Применение "перерыв страницы перед" в строку таблицы (tr)

В соответствии с 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>

Я делаю это правильно?

Если <tr> не был элементом уровня блока: , как я могу предположить, что этот разрыв страницы?

Примечание: предыдущий код является всего лишь примером, но я пытаюсь сделать разбивку на страницы каждые 5 строк таблицы, поэтому, если вы знаете какие-либо советы для этого случая, будет оценен

Ответ 1

Внутри <head> установите этот стиль

<head>
    <style>
        @media print {
            tr.page-break  { display: block; page-break-before: always; }
        }   
    </style>
</head>

Таким образом, это приведет к разрыву страницы во время печати прямо перед этой таблицей.

<tr class="page-break">
</tr>

Ответ 2

На указанном вами сайте указано, что <tr> " также может считаться элементом блока уровня, поскольку он может содержать элементы уровня блока." Ни W3.org, ни Mozilla docs указывают, что <tr> является элементом уровня блока.

Некоторые возможные решения