@page

Правило CSS @page используется для модификации некоторых свойств CSS при печати документа. Вы не можете изменить все CSS свойства с @page. Вы можете изменить только margin, orphans, widows, и разрывы страницы документа. Попытки изменить любые другие свойства CSS будут игнорироваться.

@page {
  margin: 1cm;
}

@page :first {
  margin: 2cm;
}

Правило @page доступно через интерфейс объектной модели CSS CSSPageRule.

Примечание: В W3C iобсуждают, как обрабатывать связанные с областью просмотра единицы <length> такие как, vh, vw, vmin, и vmax. Тем временем не используя их с правилом @page.

Синтаксис

Дескрипторы

size
Указывает целевой размер и ориентацию полей страницы, содержащихся в блоке. В общем случае, когда одно поле страницы отображается на одном листе страницы, он также определяет размер и ориентацию листа страницы.
marks
Добавляет обрезку и/или регистрационные отметки в документ.
bleed
Определяет степень заступа за пределы поля страницы, при котором отображаемая область страницы отрезается.

Формальный синтаксис

@page <page-selector-list> {
  <page-body>
}

где
<page-selector-list> = [ <page-selector># ]?
<page-body> = <declaration>? [ ; <page-body> ]? | <page-margin-box> <page-body>

где
<page-selector> = <pseudo-page>+ | <ident> <pseudo-page>*
<page-margin-box> = <page-margin-box-type> '{' <declaration-list> '}'

где
<pseudo-page> = : [ left | right | first | blank ]
<page-margin-box-type> = @top-left-corner | @top-left | @top-center | @top-right | @top-right-corner | @bottom-left-corner | @bottom-left | @bottom-center | @bottom-right | @bottom-right-corner | @left-top | @left-middle | @left-bottom | @right-top | @right-middle | @right-bottom

Примеры

Пожалуйста, обратитесь к различным плевдоклассам @page для примеров.

  • :blank
  • :first
  • :left
  • :right
  • :recto Это экспериментальное API, которое не должно использоваться в рабочем коде.
  • :verso Это экспериментальное API, которое не должно использоваться в рабочем коде.

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

Спецификация Статус Комментарий
CSS Logical Properties and Values Level 1
Определение ':recto and :verso' в этой спецификации.
Редакторский черновик Добавлены селекторы страницы :recto и :verso
CSS Paged Media Module Level 3
Определение '@page' в этой спецификации.
Рабочий черновик Нет изменений для CSS Level 2 (Revision 1), хотя больше правил CSS можно использовать внутри @page.
CSS Level 2 (Revision 1)
Определение '@page' в этой спецификации.
Рекомендация Первое определение

Поддержка браузерами

BCD tables only load in the browser

 

Смотрите также

  • Смотрите тикет [META] CSS Paged Media Module Level 3 в Bugzilla для отслеживания прогресса по теме (базовый страничный счетчик, и т.д.)