ページ分け関連スタイルシート(Paged media向け)
問題
スタイルシートで印刷時の改ページを調整する page-break-after
プロパティなんかは、割と知られていると思うんだけど、他にも変わったスタイルシートある?
答え
印刷関連のスタイルシートといったら、このあたりどうでしょう。
W3Cの 13 Paged media のページ
page-break-before
要素の直後の改ページを制御する(auto 自動 | always いつでも | avoid 避ける | left | right | inherit)。
page-break-after
要素の直前の改ページを制御する(auto 自動 | always いつでも | avoid 避ける | left | right | inherit)。
page-break-inside
要素内での改ページを制御する(auto 自動 | avoid 避ける | inherit)。
orphans
要素内で改ページが発生する場合に、前のページに残さなければならない最低行数を指定する。整数を指定する。
widows
要素内で改ページが発生する場合に、次のページのまわす最低行数を指定する。整数を指定する。
印刷時などページ分けのあるメディアで、有効となる。
印刷や、スライド、電子書籍などを想定したスタイルシートなのか、改ページでブロックが分割されるときに、細かい制御ができるようになっている。
- このページに入りきらないなら、ブロック全部を次のページにしたい
- 1行だけ次のページになるとかっこ悪いので、ある程度の行数を連れて行って欲しい
- 前のページに1行だけ取り残されるなら、全部次のページに持っていって欲しい
他にメモ
CSS3の@pageルールが広く実装されるようになると、HTML+CSSで帳票などの印刷物や本のデータを表現したいときにとても助かる。
フッターにページ数を入れたり、用紙サイズや用紙の回転、最初のページのときのスタイルや、空のページのときのスタイル、本にしたときの右側のとき・左側のときなどの表現ができるらしい。
他にメモ
同じHTMLを印刷のときは違う見せ方をしたいときや、画面でプレビューしてから、印刷するといった流れのときは、個別にスタイル指定したくなることもある。
印刷時のみに適用したいスタイルシートは、@media
でメディアタイプを指定してスタイルを記述するとよい。
@media print { body { font-size:4mm; } }
コメント