page-break-after、page-break-beforeNN 7 IE 4 CSS 2

継承 : なし

ドキュメントを印刷する際に要素周辺の改ページの処理を指定します。画面上では長いコンテンツフローも連続してスクロール表示するため、改ページはワープロプログラムで表示されるようにはブラウザでは表示されません。

プリンタ用にページを正しく処理するには、page box という CSS2 の概念が必要です。page box とは、最終的に印刷されるページまで届く領域です。改ページスタイル属性を使用すると、ブラウザで各ページボックスのコンテンツを正確に制御できます。他の補助設定または auto 設定を使用しないと、ブラウザは以前は各ページの空間に入るだけコンテンツを埋めていたように印刷するページを区切ります。

要素上で強制的に改ページするには page-break-before:always スタイル設定を要素に指定します。同様に、要素の後で強制的に改行するには page-break-after:always を使用します。たとえば、br 要素の特別なクラスの後で改行するには、クラスセレクタスタイル規則を次のように設定します。

また、ドキュメントに改ページを強制するには、次のタグを使用します。

leftright の属性設定では、ブラウザに両面印刷の際にページが左側か右側かを検出する機能があることを仮定します。この機能は CSS2 に指定されています。各エッジのガッターのマージンには異なる設定を行うことが多いので、改ページ後の新しいセクションの開始方法を指定するには十分な改ページで新しいセクションを希望のページに配置する必要があります。たとえば、すべての h1 要素を右側のページから始めるには、次のように改ページスタイルを設定します。

この属性を使用するとブラウザで h1 要素の前に 1 つか 2 つの改ページを行い、右側のページから始まるようにします。ブラウザが左または右の値に 2 つ目の改ページを行うと、2 つ目の改ページに空のページボックスを生成します。

これらの属性は完全には実装されていません。IE 4 でもある程度は機能しますが、IE 5 以降をターゲットにする必要があります。その場合でも、最近の IE のバージョンと Netscape 7 でサポートされている設定は、alwaysauto だけです。また、スクリプトを使用して、CSS の avoid 値と同じように機能する空の文字列を割り当てることもできます。

 
CSS 構文
 
page-break-after: breakType
page-break-before: breakType
 

Internet Explorer 4 では、alwaysautoleft、および right の 4 つの定数値が認識されます。ただし、leftrightalways と同じように処理されます。CSS2 には avoid が追加され、この値を指定すると改ページが必要ない場合にそれを避けるようにします。

 
既定値

auto

 
 
div.titlePage {page-break-before: always; page-break-after: always}
 
適用先

ブロックレベル要素

 
オブジェクト参照
 
[window.]document.getElementById("elementID").style.pageBreakAfter
[window.]document.getElementById("elementID").style.pageBreakBefore