@page

@page は CSS のアットルールで、文書を印刷するときに一部の CSS プロパティを変更するために使用します。

構文

@page {
  margin: 1cm;
}

@page :first {
  margin: 2cm;
}

記述子

size

対象となるページボックスの包含ブロックの寸法と向きを指定します。一般的な場合、1つのページボックスが1枚の用紙に印刷され、対象となる用紙の寸法を示します。

解説

@page ですべての CSS プロパティを変更できるわけではありません。変更できるのは、マージン、orphans、widows と、文書のページ区切りだけです。これ以外の CSS プロパティを変えようとしても、無視されます。

@page アットルールには、 CSS オブジェクトモデルインターフェイスの CSSPageRule からアクセスできます。

Note: W3C は、ビューポートに関する <length> の単位、vhvwvminvmax の取り扱い方について議論中です。差し当たっては、これらを @page アットルールの中で使わないでください。

形式文法

@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 擬似クラスの例

さまざまな @page擬似クラスのページにある例を参照してください。

仕様書

Specification
CSS Logical Properties and Values Level 1 (CSS Logical Properties 1)
# page

ブラウザーの互換性

BCD tables only load in the browser

関連情報