"Наилучшие" разрывы страниц
CSS2 не определяет, какой из наборов допустимых разрывов страниц обязан использоваться; CSS2 не запрещает ПАгенту делать разрыв в любой возможной точке разрыва или не делать разрывов вообще. Но CSS2 рекомендует, чтобы ПА следовали следующей эвристике (признавая наличие некоторых противоречий):
- Делать разрывы как можно реже.
- Делать все страницы, не оканчивающиеся форсированным разрывом, одинаковой высоты.
- Исключить разрывы внутри блока, имеющего рамку.
- Исключить разрывы внутри таблицы.
- Исключить разрывы внутри всплывающего элемента.
Предположим, например, что таблица стилей содержит 'orphans : 4', 'widows : 2', и имеется 20 свободных строк (строчных боксов) внизу текущей страницы:
- Если параграф в конце текущей страницы содержит 20 строк или менее, он должен быть размещён на текущей странице.
- Если параграф содержит 21 или 22 строк, вторая часть параграфа обязана не нарушать работы 'widows', и, следовательно, вторая часть обязана содержать точно две строки.
- Если параграф содержит 23 строки или более, первая часть должна содержать 20 строк, а вторая часть - остальные строки.
Теперь предположим, что 'orphans' - '10', 'widows' - '20', и имеется 8 свободных строк внизу текущей страницы:
- Если параграф в конце текущей страницы содержит 8 строк или менее, он должен быть размещён на текущей странице.
- Если параграф содержит 9 строки или более, он не может быть разделён (что могло бы нарушить работу orphans), следовательно, он должен быть перемещён как блок на следующую страницу.