Web Site Design Advice

Lecture

印刷

CSSはHTML文書の表現方法を指定する標準のスタイルシートであり、以下の構造をもっています。

セレクタ {プロパティ:値}

本稿では印刷のプロパティを解説します。

@page

印刷関係のプロパティは@page宣言として設定できます。

CSSではページボックスという考え方があり、印刷される1ページをひとつのボックスとして捉えることができます。このページボックスはHTMLには現れないものですから、印刷のプロパティは通常のセレクタでは設定できません。そこで@pageが用いられるわけです。

@page
{size:16.2cm 23.7cm; /* ページボックスの大きさと向き */
marks:crop cross; /* トンボ */}
@page:first
{margin:2em; /* 余白 */}
@page:left
{margin:2em 2em 2em 0; /* 余白 */}
@page:right
{margin:2em 0 2em 2em; /* 余白 */}

「:first」「:left」「:right」という専用の3つの擬似クラスが用意されており、最初のページ、左側のページ、右側のページの印刷設定をそれぞれ指定できます。また@page宣言には名前をつけることができ、その設定を特定の要素の印刷設定として用いることが可能です。

@page yoko
{size:landscape;}
table
{page:yoko;}

印刷のプロパティ

sizeプロパティ

sizeプロパティはページボックスの大きさと向きを設定します。設定値は実数値+単位,keyword(auto,portrait,landscape)です。

実数値+単位
縦、横の順で大きさを指定します。値をひとつだけ指定した場合には縦横同じ大きさになります。
auto
とくに制御しない
portrait
用紙縦置き
landscape
用紙横置き
適用要素初期値継承
@page宣言実数値+単位,keywordauto--

page-break-before,page-break-afterプロパティ

page-break-before,page-break-afterプロパティは、それぞれ指定要素の前後における改ページを設定します。設定値はkeyword(auto,always,avoid,left,right)です。

auto
とくに制御しない
always
必ず改ページ
avoid
改ページ禁止
left,right
見開き印刷における左右の指定
適用要素初期値継承
ブロックレベル要素keywordautono

page-break-nsideプロパティ

page-break-nsideプロパティは、指定要素内の改ページを設定します。設定値はkeyword(auto,avoid)です。

auto
とくに制御しない
avoid
改ページ禁止
適用要素初期値継承
ブロックレベル要素keywordautono

widows,orphansプロパティ

widows,orphansプロパティは、指定要素内における中途半端な改ページの禁止を設定します。設定値は整数値です。

widowsプロパティ
改ページ後のページの最初に最低限必要な行数を設定する。(例えば、2行しかない段落があるとします。widowを2に設定すれば、この段落の途中で改ページされることはありえません。もし途中で改ページすれば、改ページ後のページの最初に1行しかない段落が出現してしまうからです)
orphansプロパティ
改ページ前のページの最後に最低限必要な行数を設定する。
適用要素初期値継承
ブロックレベル要素整数値2no

marksプロパティ

marksプロパティは、トンボ(断ち切り線)の出力を設定します。設定値はkeyword(crop,cross,none)です。

crop
コーナートンボを出力(スペースで区切ってcrossと同時に指定可能)
cross
センタートンボを出力(スペースで区切ってcropと同時に指定可能)
none
トンボを出力しない
適用要素初期値継承
@page宣言keywordnoneno