CSS/@page
< CSS
@page
編集@pageは、印刷時のページスタイルを定義するためのCSSルールです。このルールを使用すると、ページのサイズ、余白、向き、境界線など、印刷に関連する設定をカスタマイズできます。主に印刷用スタイルシートで利用され、PDF生成やプリンター出力に特化したスタイル設定が可能です。
構文
編集基本的な@page
の構文は以下の通りです:
@page { <プロパティ>: <値>; }
また、特定のページに異なるスタイルを適用する場合には、以下のような擬似クラスを使用します:
:first
- 最初のページ:left
- 偶数ページ(左ページ):right
- 奇数ページ(右ページ)
使用例
編集ページ全体の余白を設定
編集@page { margin: 20mm; }
この例では、ページ全体の余白を20mmに設定しています。
ページサイズと向きを設定
編集@page { size: A4 portrait; }
この例では、ページサイズをA4に設定し、縦向き(portrait)に指定しています。
最初のページだけ異なるスタイルを設定
編集@page :first { margin-top: 50mm; margin-bottom: 30mm; }
この例では、最初のページに特別な余白を設定しています。
偶数ページと奇数ページに異なるスタイルを適用
編集@page :left { margin-left: 25mm; } @page :right { margin-right: 25mm; }
この例では、偶数ページの左余白と奇数ページの右余白をそれぞれ25mmに設定しています。
プロパティ
編集@page
ルールで使用可能なプロパティには以下のものがあります:
margin
- ページの余白を指定します(例:10mm
、1in
など)。size
- ページサイズを指定します。プリンター標準サイズ(例:A4
、letter
)や、カスタムサイズ(例:size: 210mm 297mm;
)が指定可能です。marks
- トリムマークやレジストレーションマークを設定します(例:crop
、cross
)。bleed
- 裁ち落とし領域を指定します。
注意事項
編集@page
は印刷用に特化しているため、通常のブラウザ画面では効果がありません。主に印刷プレビューや印刷時に反映されます。- 一部のブラウザや印刷設定では、
@page
の特定のプロパティがサポートされない場合があります。
ブラウザ対応状況
編集@page
は多くのモダンブラウザでサポートされています。ただし、marks
やbleed
などのプロパティはブラウザによる対応が異なるため、使用時には事前確認が推奨されます。
- サポートあり: Google Chrome, Mozilla Firefox, Microsoft Edge, Safari(印刷機能に対応)
- サポート未対応の可能性: 古いブラウザやモバイルブラウザ
関連情報
編集- MDN Web Docs: @page
- CSSWG: The @page Rule
- CSSWG: Flow-Relative Page Classifications
- CAN I USE: CSS Paged Media (@page)
@page
を活用すると、印刷時のレイアウトを細かく調整し、プロフェッショナルな仕上がりを実現できます。特にPDF生成や印刷物のデザインに役立つルールです。