Как бороться с разрывами страниц при печати больших таблиц HTML - PullRequest
248 голосов
/ 19 ноября 2009

У меня есть проект, который требует печати таблицы HTML с несколькими строками.

Моя проблема в том, как таблица печатается на нескольких страницах. Иногда он разрезает строку пополам, делая ее нечитаемой, потому что одна половина находится на переднем крае страницы, а остальная часть напечатана в верхней части следующей страницы.

Единственное правдоподобное решение, которое я могу придумать, это использовать сложенные DIV вместо таблицы и принудительно разрывать страницы, если это необходимо ... но перед тем, как пройти через все изменения, я подумал, что мог бы спросить здесь раньше.

Ответы [ 11 ]

0 голосов
/ 01 апреля 2015

Принятый ответ не работал у меня во всех браузерах, но у меня работал следующий css:

tr    
{ 
  display: table-row-group;
  page-break-inside:avoid; 
  page-break-after:auto;
}

Структура HTML была:

<table>
  <thead>
    <tr></tr>
  </thead>
  <tbody>
    <tr></tr>
    <tr></tr>
    ...
  </tbody>
</table>

В моем случае были некоторые дополнительные проблемы с thead tr, но это решило изначальную проблему предотвращения разбивки строк таблицы.

Из-за проблем с заголовком я в итоге получил:

#theTable td *
{
  page-break-inside:avoid;
}

Это не помешало разрыву строк; только содержимое каждой ячейки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...