Стили печати: Как обеспечить, чтобы изображение не занимало разрыв страницы

При написании таблицы стилей печати есть ли способ обеспечить, чтобы изображение всегда было только на одной странице, а не занимало несколько страниц. Изображения намного меньше, чем страница, но в зависимости от потока документов они оказываются в нижней части страницы и разделяются. Пример поведения, которое я вижу ниже:

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,
Другие вопросы по тегам