個人的に必要なので、まだまだ未熟ですがまとめてみます。
印刷用CSSの指定
主に3通り。2番目が一番楽かな。
- 専用CSSを指定
- 既存CSSに追記
- エンベッド - HTMLファイルに追記
- 専用CSSを指定
-
専用CSSを作成し、htmlファイルの
head
要素内の既存CSS指定の後にlink
タグを追記する。- 既存CSSに
media="all"
,media="screen"
などを指定 - 印刷用CSSには
media="print"
を指定
<link rel="stylesheet" type="text/css" href="./basic.css" media="all"> <link rel="stylesheet" type="text/css" href="./print.css" media="print">
- 既存CSSに
- 既存CSSに追記
-
html側の編集は不要なので最も楽かな。
既存CSSに上書きさせる場合は、既存CSSの最後の方に、
@media print { }
で囲んで追記する。/* 印刷プレビュー */ @media print { .sidebar { display: none; } }
- エンベッド - HTMLファイルに追記
-
HTMLファイルの
head
要素内にstyle
要素を追記。@media print { }
で囲んで記述する。<head> ----- 省略 ----- <style type="text/css"> <!-- @media print { .sidebar { display: none; } } --> </style> </head>
指定要素を非表示に
サイドバーやナビゲーションリンクなどに display:none
を指定して非表示にする
.sidebar { display: none; }
非表示用の class を作っておくのもいいかもしれない...
.noprint { display:none; }
※ 尚、サイドバーを非表示にした場合は、メイン記事部分の幅 - width
を広げる必要があるので注意。
強制改ページ
コンテンツ部分の後や見出し h2
の前などで強制改ページさせる。
- 参考リンク :
h2 { page-break-before: always; } .contens { page-break-after: always; }
いろいろ
問題点とか...
- 画像は表示幅に合わせて縮小表示指定するべき?
img { max-width: 100%; height: auto; }
pre
のはみ出しは諦める?一応visible
指定しておくとか
pre { overflow: visible; }
このページは今んとここんなかんじ...
/*===== 印刷プレビュー =====*/ @media print { /* @media print START */ /* 幅 */ #container { width: 100%; margin: 0; padding: 0; } #wrapper { width: 98%; margin: 0; padding: 0; } /* 非表示 */ #globalheader-container, header#blog-title, footer, #bottom-editarea, aside, #box1, #box2, .pager, .hatena-counter, #fb-root, #footer, .navi_back { display: none; } /* 改ページ */ .entry-inner h2 { page-break-before: always; } article { page-break-after: always; } } /* @media print END */
ほな

HTML5&CSS3デザインブック (ステップバイステップ形式でマスターできる)
- 作者: エビスコム
- 出版社/メーカー: ソシム
- 発売日: 2014/10/28
- メディア: 単行本
- この商品を含むブログ (5件) を見る

Webデザインの新しい教科書 改訂新版 基礎から覚える、深く理解できる。〈HTML5、CSS3、レスポンシブWebデザイン〉
- 作者: こもりまさあき,赤間公太郎
- 出版社/メーカー: エムディエヌコーポレーション
- 発売日: 2016/02/02
- メディア: 単行本
- この商品を含むブログ (1件) を見る