Применение "перерыв страницы перед" в строку таблицы (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>
является элементом уровня блока.
Некоторые возможные решения
-
Основываясь на формулировке и вашем примере, я бы удостоверился, что ячейка содержит истинный элемент уровня блока. Вот два примера, в которых используются <h1>
и <p>
, которые являются текстовыми элементами на уровне блоков.
<tr style="page-break-after: always"><td><h1>Next Section</h1></td></tr>
<tr style="page-break-after: always"><td><p>This will be a new page.</p></td></tr>
-
Другие сообщили о подобных проблемах, и одно из решений может работать для вас.
-
Как упоминалось My Lister, вы можете попытаться поймать действие печати или создать печатную версию страницы, которая будет разделять таблицу, чтобы вы могли получить желаемый разрыв страницы после каждых пяти строк.