Спецификация CSS2

         

"Наилучшие" разрывы страниц


CSS2 не определяет, какой из наборов допустимых разрывов страниц обязан использоваться; CSS2 не запрещает ПАгенту делать разрыв в любой возможной точке разрыва или не делать разрывов вообще. Но CSS2 рекомендует, чтобы ПА следовали следующей эвристике (признавая наличие некоторых противоречий):

  • Делать разрывы как можно реже.
  • Делать все страницы, не оканчивающиеся форсированным разрывом, одинаковой высоты.
  • Исключить разрывы внутри блока, имеющего рамку.
  • Исключить разрывы внутри таблицы.
  • Исключить разрывы внутри всплывающего элемента.

Предположим, например, что таблица стилей содержит 'orphans : 4', 'widows : 2', и имеется 20 свободных строк (строчных боксов) внизу текущей страницы:

  • Если параграф в конце текущей страницы содержит 20 строк или менее, он должен быть размещён на текущей странице.
  • Если параграф содержит 21 или 22 строк, вторая часть параграфа обязана не нарушать работы 'widows', и, следовательно, вторая часть обязана содержать точно две строки.
  • Если параграф содержит 23 строки или более, первая часть должна содержать 20 строк, а вторая часть - остальные строки.

Теперь предположим, что 'orphans' - '10', 'widows' - '20', и имеется 8 свободных строк внизу текущей страницы:

  • Если параграф в конце текущей страницы содержит 8 строк или менее, он должен быть размещён на текущей странице.
  • Если параграф содержит 9 строки или более, он не может быть разделён (что могло бы нарушить работу orphans), следовательно, он должен быть перемещён как блок на следующую страницу.



Содержание раздела