--- title: '@page' slug: Web/CSS/@page tags: - '@page' - At-rule - CSS - Layout - Reference - Web translation_of: Web/CSS/@page ---
{{CSSRef}}

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

構文

@page {
  margin: 1cm;
}

@page :first {
  margin: 2cm;
}

記述子

size
対象となるページボックスの包含ブロックの寸法と向きを指定します。一般的な場合、1つのページボックスが1枚の用紙に印刷され、対象となる用紙の寸法を示します。
marks
クロップや登録マークを文書に追加します。
bleed
ページのレンダリングがクリップされた場合の、ページボックス間の距離を示します。

解説

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

@page アット規則は、 CSS オブジェクトモデルインターフェイス {{domxref("CSSPageRule")}} からアクセスできます。

注: W3C は、ビューポートに関する {{cssxref("<length>")}} の単位、 vh, vw, vmin, vmax の取り扱い方について議論中です。差し当たっては、これらを @page アット規則の中で使わないでください。

形式文法

{{csssyntax}}

@page 擬似クラスの例

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

仕様書

仕様書 状態 備考
{{SpecName('CSS Logical Properties', '#page', ':recto and :verso')}} {{Spec2('CSS Logical Properties')}} :recto 及び :verso ページセレクターを追加
{{SpecName('CSS3 Paged Media', '#at-page-rule', '@page')}} {{Spec2('CSS3 Paged Media')}} {{SpecName('CSS2.1')}} から変更はないが、 @page 内でより多くの@規則が利用できるようになった。
{{SpecName('CSS2.1', 'page.html#page-selectors', '@page')}} {{Spec2('CSS2.1')}} 初回定義

ブラウザーの互換性

{{Compat("css.at-rules.page")}}

関連情報