CSS, чтобы остановить разрыв страницы внутри строки таблицы
Я пытаюсь избежать разрывов страниц внутри строк для моих таблиц HTML, которые могут проходить за одну страницу. Я использую Internet Explorer Print Preview, а также BCL EasyPDFSDK для преобразования в PDF, чтобы проверить это. Я применил следующий стиль CSS в различных комбинациях к <td>
элементы, но для каждого я получал нежелательный результат:
td {
page-break-inside: avoid !important;
white-space: nowrap;
overflow: hidden;
margin: 4px 0 4px 0;
}
Я верю page-break-inside: avoid !important
работает, но только на <td>
уровень. Например, я увижу <tr>
это имеет один <td>
в конце первой страницы со всем неповрежденным текстом, но следующий <td>
теги будут на следующей странице со всем их текстом без изменений.
Я не думал, что вы должны были применить форматирование к <tr>
поэтому я не уверен, как это исправить.
Должен ли я применить CSS к <tr>
или есть другой способ добиться этого?
Спасибо за помощь!
1 ответ
Оказалось, что мне нужно было свернуть границы элемента таблицы и уменьшить мой отступ до 1px, используя
table { border-collapse: collapse; }
td {
page-break-inside: avoid !important;
white-space: nowrap;
overflow: hidden;
padding: 1px;
font-size: xx-small;
}
Я также установил размер шрифта на xx-small
на случай, если это станет причиной проблемы. Эта проблема, казалось, в первую очередь была решена, когда я свернул границы, поэтому меня интересует, были ли в таблице проблемы с разбиением строк из-за этого.
Ура!
РЕДАКТИРОВАТЬ:
После решения этой проблемы я обнаружил, что разделение строк обрабатывается гораздо лучше в новых веб-браузерах. Я настоятельно рекомендую обновить IE по крайней мере до 11, если у вас возникла эта проблема.
Я только что добавил приведенный ниже css в свой @media print, и он сработал!!!
Ни одно из решений, примененных к td, th, tr, не сработало
table {
page-break-inside: avoid !important;
}