@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 - ページの余白を指定します(例:10mm1inなど)。
  • size - ページサイズを指定します。プリンター標準サイズ(例:A4letter)や、カスタムサイズ(例:size: 210mm 297mm;)が指定可能です。
  • marks - トリムマークやレジストレーションマークを設定します(例:cropcross)。
  • bleed - 裁ち落とし領域を指定します。

注意事項

編集
  • @pageは印刷用に特化しているため、通常のブラウザ画面では効果がありません。主に印刷プレビューや印刷時に反映されます。
  • 一部のブラウザや印刷設定では、@pageの特定のプロパティがサポートされない場合があります。

ブラウザ対応状況

編集

@pageは多くのモダンブラウザでサポートされています。ただし、marksbleedなどのプロパティはブラウザによる対応が異なるため、使用時には事前確認が推奨されます。

  • サポートあり: Google Chrome, Mozilla Firefox, Microsoft Edge, Safari(印刷機能に対応)
  • サポート未対応の可能性: 古いブラウザやモバイルブラウザ

関連情報

編集

@pageを活用すると、印刷時のレイアウトを細かく調整し、プロフェッショナルな仕上がりを実現できます。特にPDF生成や印刷物のデザインに役立つルールです。