web-dev-qa-db-ja.com

HTML印刷で改ページを強制できますか?

印刷可能なHTMLレポートを作成しており、新しいページで始まる「セクション」があります。

その時点で改ページ(新しいページの開始)を強制する必要があることをブラウザに知らせるHTML/CSSに何かを挿入する方法はありますか?

世の中のすべてのブラウザーでこれを動作させる必要はありません。これを印刷するために特定のブラウザーセットを使用するように人々に伝えることができると思います。

144
Daniel Magliola

次のように、「pagebreak」(または「pb」)というCSSクラスを追加します。

@media print {
    .pagebreak { page-break-before: always; } /* page-break-after works, as well */
}

次に、改ページしたい場所に空のDIVタグ( またはボックスを生成するブロック要素 )を追加します。

<div class="pagebreak"> </div>

ページには表示されませんが、印刷時にページが分割されます。

追伸おそらくこれは-after(およびページ上の他の<div>sで他に何をしているかもしれない)を使用する場合にのみ適用されますが、次のようにCSSクラスを拡張する必要があることがわかりました。

@media print {
    .pagebreak {
        clear: both;
        page-break-after: always;
    }
}
276
Chris Doggett

これを試してください link

<style>
@media print
{
h1 {page-break-before:always}
}
</style>
40
jfarrell

CSSプロパティ page-break-before (またはpage-break-after)を使用できます。新しい行で始まるブロックレベルの要素(たとえば、見出し、divp、またはtable要素)にpage-break-before: alwaysを設定するだけです。

たとえば、2番目のレベルの見出しの前およびクラスnewpage(たとえば、<div class=newpage>...)の要素の前で改行を発生させるには、次を使用します。

h2, .newpage { page-break-before: always }
7

ただ更新したかった。 page-break-afterは現在、レガシープロパティです。

公式 ページ 状態

このプロパティは、 break-after プロパティに置き換えられました。

2
shazyriver