@page

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

@page {
  margin: 1cm;
}

@page :first {
  margin: 2cm;
}

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

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

Синтаксис

Дескрипторы

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

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

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

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

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

где
<pseudo-page> = : [ (en-US) left | (en-US) right | (en-US) first | (en-US) blank ] (en-US)
<page-margin-box-type> = @top-left-corner | (en-US) @top-left | (en-US) @top-center | (en-US) @top-right | (en-US) @top-right-corner | (en-US) @bottom-left-corner | (en-US) @bottom-left | (en-US) @bottom-center | (en-US) @bottom-right | (en-US) @bottom-right-corner | (en-US) @left-top | (en-US) @left-middle | (en-US) @left-bottom | (en-US) @right-top | (en-US) @right-middle | (en-US) @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 для отслеживания прогресса по теме (базовый страничный счётчик, и т.д.)