У меня длинный стол с сотнями строк. Чтобы напечатать заголовки таблиц на каждой странице, я использую THEAD {display: table-header-group} для стиля таблицы. И он работает как ожидается в Firefox и IE9. Но когда я пытаюсь заставить разрывы страниц, как показано ниже, это не работает в IE9. В IE9 заголовки таблиц печатаются только на страницах, где таблица разбивается естественным образом.
Вот фрагмент кода –
CSS: @media print { thead { display: table-header-group; } } HTML/PHP: <table> <thead> <tr> <th>Header 1</th> <th>Header 2</th> <th>Header 3</th> </tr> </thead> <tbody> <?php foreach ($items as $item) { echo " <tr> " ; echo "<td>text</td>" ; echo "<td>text</td>" ; echo "<td>text</td>" ; if ($condition) { echo "</tr>" ; echo "<tr style='page-break-after:always;'>" ; echo "</tr>" ; } } ?> </tbody> </table>
Будем очень благодарны за любую помощь в этом.
Благодарю.
Начните с использования правильного HTML с закрывающими тегами
if ($condition) { echo ( "</tr>" ); echo ( "<tr style='page-break-after:always;'>" ); echo ( "</tr>" ); } else { echo ( "</tr>" ); }
Если это не поможет
if ($condition) { echo ( "</tr>" ); echo ( "<tr style='page-break-after:always;'>" ); echo ( "</tr> " ); echo ( ' <tr class="class_only_visible_when_printed"> ' ); echo ( " <th>Header 1</th> " ); echo ( " <th>Header 2</th> " ); echo ( " <th>Header 3</th> " ); echo ( " </tr> " ); } else { echo ( "</tr>" ); }