Стили печати: как обеспечить, чтобы изображение не охватывало разрыв страницы
При написании таблицы стилей печати существует ли способ обеспечить, чтобы изображение всегда было только на одной странице, а не на нескольких страницах. Изображения, намного меньшие, чем страница, но на основе потока документов, они заканчиваются внизу страницы и становятся разделенными. Пример поведения, который я вижу, ниже:
Page 1 | |
| (text text text) |
| (text text text) |
| ________________ |
| | Top of image | |
|____________________|
------page break------
____________________
Page 2 | | Rest of image | |
| |________________| |
| … |
Что мне нравится
Page 1 | |
| (text text text) |
| (text text text) |
| |
| |
|____________________|
------page break------
____________________
Page 2 | ________________ |
| | Full image | |
| | | |
| |________________| |
| … |
Все те времена, когда я болтал о плаваниях в LaTeX, и здесь я прошу о такой же функциональности... Можно ли это сделать? Я не обязательно забочусь о том, что он работает во всех браузерах, поскольку это часто просто одноразовый документ, который я пишу, чтобы превратиться в PDF.
Ответы
Ответ 1
Единственное, что я могу придумать, это использовать одно (или потенциально большее) из следующих правил css:
img {
page-break-before: auto; /* 'always,' 'avoid,' 'left,' 'inherit,' or 'right' */
page-break-after: auto; /* 'always,' 'avoid,' 'left,' 'inherit,' or 'right' */
page-break-inside: avoid; /* or 'auto' */
}
Я наполовину напоминаю, что эти объявления применимы только к элементам блочного уровня (поэтому вам также необходимо определить display: block;
на вашем изображении или использовать какой-то контейнер для упаковки и применить к нему правила (будь то в абзац, div, span, list и т.д.).
Ниже приведено полезное обсуждение: Каковы наиболее используемые функции usefule media="print"
, свойства CSS, совместимые с несколькими браузерами?"
Литература: