Movatterモバイル変換


[0]ホーム

URL:


  1. 開発者向けのウェブ技術
  2. CSS
  3. ガイド
  4. CSS メディアクエリー
  5. 印刷

このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docsコミュニティーについてもっと知り、仲間になるにはこちらから。

View in EnglishAlways switch to English

印刷

コンテンツを印刷するときに、ウェブサイトまたはアプリケーションで使い勝手を向上させたい場合があります。考えられるシナリオはいくつかあります。

  • 紙の大きさと形状を生かしてレイアウトを調整したい
  • (画面とは) 異なるスタイルを利用して、紙の上でのコンテンツの見栄えを良くしたい
  • 良い結果をるために、より高解像度の画像を使用したい
  • 印刷を始める前にコンテンツの印刷プレビュー版を表示するなど、印刷の使い勝手を調整したい

他にも印刷処理を管理したい場合がありますが、これらは最も一般的なシナリオの一部です。この記事では、ウェブコンテンツの印刷品質を向上させるためのヒントとテクニックを紹介します。

印刷スタイルシートの使用

<head> タグの中に次のように追加してください。

html
<link href="/path/to/print.css" media="print" rel="stylesheet" />

レイアウトを改善するためのメディアクエリーの使用

CSS の@media アットルールを使用すると、ウェブページを紙や PDF で印刷する場合と、画面に表示する場合とで、異なるスタイルを設定することができます。printメディア種別は、印刷メディアのスタイルを設定します。これらのスタイルは、印刷されるコンテンツにのみ使用されます。

これをスタイルシートの最後に追加してください。詳細度と優先度のルールは引き続き適用されることにご注意ください。

css
@media print {  /* 印刷用スタイルはすべてこちらへ */  #header,  #footer,  #nav {    display: none !important;  }}

@page アットルールを使用して、ページの寸法、向き、マージンなど、印刷ページのさまざまな側面を変更することもできます。@page アットルールは、印刷物のすべてのページ、または特定のサブセットのページをターゲットとして使用することができます。

印刷リクエストの検出

ブラウザーは、印刷がいつ発生したかを判断するために、beforeprint およびafterprint イベントを送信します。これを使用して、印刷中に表示されるユーザーインターフェイスを調整することができます (例えば、印刷処理中にユーザーインターフェイスの要素を表示または非表示にするなど)。

よくある例をいくつか紹介します。

終了時に自動的にウィンドウを閉じる

次の例は、ユーザーがコンテンツを出力した後、ウィンドウを閉じます。

js
window.addEventListener("afterprint", () => self.close);

外部ページを開かずに印刷する

外部ページを開かずに印刷できるようにしたい場合は、非表示の<iframe>HTMLIFrameElement を参照)を利用し、ユーザーがコンテンツを印刷した後で自動的にそれを削除するようにすることで実現できます。以下の例は、externalPage.html という名前のファイルを印刷することができる例です。

HTML

html
<button>Print external page!</button>

JavaScript

js
function setPrint() {  const closePrint = () => {    document.body.removeChild(this);  };  this.contentWindow.onbeforeunload = closePrint;  this.contentWindow.onafterprint = closePrint;  this.contentWindow.print();}document.getElementById("print_external").addEventListener("click", () => {  const hideFrame = document.createElement("iframe");  hideFrame.onload = setPrint;  hideFrame.style.display = "none"; // hide iframe  hideFrame.src = "external-page.html";  document.body.appendChild(hideFrame);});

関連情報

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp