Можно ли как-то определить (селектором ?), что после элемента идёт разрыв страницы печати?
Верстаю таблицу переменной длины, она может при печати разрываться на несколько страниц. Хочу в разрыве такой таблицы добавить приписку типа "продолжение на следующей странице", аналогично "начало на предыдущей странице".
Для этого мне надо как-то узнать, что при выводе на печать после данного элемента (строки таблицы) окажется разрыв страницы? То же вопрос относится к элементу (строке) перед которым был разрыв, и она оказалась первой наверху страницы.
Дополнительно:
Ответы:
Можно ли как-то определить (селектором ?), что после элемента идёт разрыв страницы печати?
CSS селектором? - нельзя.
Да и на js это будет на самая простая задача, поскольку js напрямую не предоставляет информацию о разрывах страниц при печати, поэтому высоту страницы нужно будет вычислять динамически и уже после, двигать содержимое страницы до или после разрыва.
- Спасибо. Что-то подобное я и предполагала. Задавала вопрос без особой надежды. Думала, вдруг существует какой-то секретный псевдокласс.
Для общего развития. Верно ли я понимаю, что браузер отправляет драйверу принтера предписания типа break-before, break-after для элементов страницы, но обратно драйвер никакой информации браузеру не сообщает, что и как у него там по страницам разложилось, и именно поэтому браузер не может что-то там после этого поменять, добавить в содержание или в стилизацию элементов?
- Tyusha, все верно
Частично может помочь:
Для повторяющейся шапки:
https://developer.mozilla.org/en-US/docs/Web/HTML/... или https://developer.mozilla.org/en-US/docs/Web/CSS/d...
When printing a document, in the case of a multipage table, the table head usually specifies information that remains the same on each page.
для повторяющегося подвала то же, но tfoot
как менять внутри информацию или как не выводить в конце - не знаю
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Для определения разрыва страницы печати после определенного элемента на веб-странице можно использовать CSS свойство `page-break-after`. Это свойство позволяет управлять разрывом страницы перед или после элемента при печати.
Пример использования этого свойства в CSS:
.element { page-break-after: always; }
В этом примере, элементу с классом `element` будет добавлен разрыв страницы после него при печати. Вы также можете использовать другие значения для `page-break-after`, такие как `auto`, `avoid`, `left`, `right`, `inherit`, в зависимости от ваших потребностей.
Если вы хотите определить разрыв страницы перед элементом, вы можете использовать `page-break-before`. Также, если вам нужно управлять разрывом страницы как до, так и после элемента, вы можете использовать `page-break-inside`.
Таким образом, вы можете использовать CSS свойства `page-break-after`, `page-break-before` и `page-break-inside` для определения разрыва страницы печати после, перед или внутри элементов на веб-странице. Надеюсь, это поможет вам решить вашу проблему!