![]() |
||
|
aranea.ru || Спецификация CSS2 | 13.3. Обрыв страницы.
13.3. Обрыв страницы.13.3.1. Обрыв перед/после элементов: 'page-break-before', 'page-break-after', 'page-break-inside'.13.3.2. Использование названных страниц: 'page'. 13.3.3. Обрыв внутри элементов: 'orphans', 'windows'. 13.3.4. Разрешенные обрывы страницы. 13.3.5. Принудительный обрыв страницы. 13.3.6. "Самые лучшие" обрывы страницы. Следующие разделы объясняют форматирование страниц в CSS2. Пять свойств указывают, где устройство вывода может или ему следует обрывать страницы, и на какой странице (левой или правой) следует возобновить содержание. Каждый обрыв страницы заканчивает разметку в текущем страничном блоке и приводит к тому, что оставшиеся части дерева документа размещаются в новом страничном блоке. 13.3.1. Обрыв перед/после элементов: 'page-break-before', 'page-break-after', 'page-break-inside'.'page-break-before' Тип значения: auto | always | avoid | left | right | inherit Начальная величина: auto Применяется: к блочным элементам Наследование: нет Процентная база: нет Медиа: визуальные, постраничные 'page-break-after' Тип значения: auto | always | avoid | left | right | inherit Начальная величина: auto Применяется: к блочным элементам Наследование: нет Процентная база: нет Медиа: визуальные, постраничные 'page-break-inside' Тип значения: avoid | auto | inherit Начальная величина: auto Применяется: к блочным элементам Наследование: да Процентная база: нет Медиа: визуальные, постраничные Эти свойства имеют следующие значения:
Потенциальное размещение обрыва страниц находится под влиянием свойства 'page-break-inside' родительского элемента, свойства 'page-break-after' предшествующего элемента и свойства 'page-break-before' следующего элемента. Когда эти свойства имеют значения, отличные от 'auto', то значения 'always', 'left' и 'right' имеют преимущество пред 'avoid'. Смотрите раздел по разрешенным обрывам страниц для точных правил, как эти свойства могут установить или подавить обрыв страницы. 13.3.2. Использование названных страниц: 'page'.'page' Тип значения: <identifier> | auto Начальная величина: auto Применяется: к блочным элементам Наследование: да Процентная база: нет Медиа: визуальные, постраничные Свойство 'page' используется для определения особого типа страницы, где следует вывести элемент. Следующий пример помещает все таблицы на правой стороне страницы с альбомным (landscape) положением (названной "rotated"): @page rotated {size: landscape} TABLE {page: rotated; page-break-before: right} Свойство 'page' работает следующим образом: если блочный блок с внутристрочным блоком имеет свойство 'page', то он отделяется от предшествующего блочного блока с внутристрочным содержанием, и между ними вставляется один или два обрыва страницы, а блоки после обрыва страницы визуализируются в страничном блоке названного типа. Смотрите ниже раздел " Принудительный обрыв страницы". В следующем примере две таблицы визуализируются на страницах с альбомным расположением (в действительности, - на одной и той же странице, если они помещаются на нее), и тип страницы "narrow" не используется вообще, не смотря на то, что он установлен в элементе DIV: @page narrow {size: 9cm 18cm} @page rotated {size: landscape} DIV {page: narrow} TABLE {page: rotated} с документом:
13.3.3. Обрыв внутри элементов: 'orphans', 'windows'.'orphans' Тип значения: <integer> | inherit Начальная величина: 2 Применяется: к блочным элементам Наследование: да Процентная база: нет Медиа: визуальные, постраничные 'widows' Тип значения: <integer> | inherit Начальная величина: 2 Применяется: блочные элементы Наследование: да Процентная база: нет Медиа: визуальные, постраничные Свойство 'orphans' определяет минимальное число строк параграфа, которые должны оставаться внизу страницы. Свойство 'widows' определяет минимальное число строк параграфа, которые должны остаться вверху страницы. Примеры, как они используются для управления обрывами страниц, даны ниже. Для подробной информации о форматировании параграфов, обратитесь к разделу по строчным блокам. 13.3.4. Разрешенные обрывы страницы.При нормальном размещении, обрывы страниц могут оказаться в следующих местах:
Эти обрывы подчиняются следующим правилам:
Если вышеуказанные правила не дают достаточно точек для обрыва страницы при сохранении содержания от перекрытия станичных блоков, то отбрасывают правила B и D для того, чтобы обнаружить дополнительные точки обрыва. Если это все еще не ведет к достаточным точкам обрыва, то отбрасывают правила А и С для обнаружения еще больших точек обрыва. Обрывы страниц не могут происходить внутри блоков, которые позиционируются абсолютно. 13.3.5. Принудительный обрыв страницы.Обрыв страницы должен происходить в точке (1), если среди свойств 'page-break-after' и 'page-break-before' для всех элементов, генерирующих блоки, встречающиеся в этом поле, есть хотя бы одно со значением 'always', 'left' или 'right'. Обрыв страницы должен также происходить в точке (1), если последний строчный блок выше этого поля, а первый блок ниже его не имеет того же значение для 'page'. 13.3.6. "Самые лучшие" обрывы страницы.CSS2 не определяют, какой из наборов разрешенных обрывов страниц должен использоваться; CSS2 не запрещают устройству вывода осуществлять разрывы в любой возможной точке, или не делать обрывов вообще. Но CSS2 не рекомендуют, чтобы устройства вывода соблюдали следующую эвристику (когда признается, что есть противоречия):
Предположим, например, что стилевые таблицы содержать 'orphans: 4', 'widows: 2', и есть 20 строк (строчные блоки), доступные внизу текущей страницы:
Теперь предположим, что 'orphans' – '10', 'widows' – '20', и есть 8 строк, доступные внизу текущей страницы:
|