Стили печати: Как обеспечить, чтобы изображение не занимало разрыв страницы
При написании таблицы стилей печати есть ли способ обеспечить, чтобы изображение всегда было только на одной странице, а не занимало несколько страниц. Изображения намного меньше, чем страница, но в зависимости от потока документов они оказываются в нижней части страницы и разделяются. Пример поведения, которое я вижу ниже:
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 и т. д.).
Некоторые полезные обсуждения здесь: " Что наиболее полезно media="print"
конкретные, совместимые с браузером свойства CSS? "
Рекомендации:
page-break-after
,page-break-before
,page-break-inside
,