HTML
 Computer >> コンピューター >  >> プログラミング >> HTML

HTML DOM StyleのpageBreakBeforeプロパティとは?構文と使い方を実例付きで解説

HTML DOM の Style pageBreakBefore プロパティは、HTML ドキュメント内の特定の要素の直前で、印刷または印刷プレビュー時に改ページを行うかどうかの動作を取得(参照)および変更(設定)するためのプロパティです。

Web ページをそのまま印刷した場合、要素の途中で不自然にページが分断されることがあります。このプロパティを使えば、印刷レイアウトを意図的に制御でき、見やすい帳票やドキュメント出力を実現できます。

構文

pageBreakBefore プロパティの基本的な構文は以下のとおりです。

1. 値を取得する場合

object.pageBreakBefore

2. 値を設定する場合

object.pageBreakBefore = "value"

value には以下の値を指定できます。

説明
initialこのプロパティの値をデフォルト値(初期値)に設定します。
inherit親要素からこのプロパティの値を継承します。
auto必要な場合にのみ、要素の直前に改ページを挿入します。
always常に、要素の直前に改ページを挿入します。
avoid要素の直前での改ページを回避します。
left要素の直前に1〜2個の改ページを挿入し、次のページが左ページ(偶数ページ)になるようにします。
right要素の直前に1〜2個の改ページを挿入し、次のページが右ページ(奇数ページ)になるようにします。
空文字列("")要素の直前に改ページを挿入しません。

それでは、HTML DOM Style の pageBreakBefore プロパティの具体的な使用例を見ていきましょう。

サンプルコード

<!DOCTYPE html>
<html>
<style>
    body {
        color: #000;
        height: 100vh;
        background-color: #8BC6EC;
        background-image: linear-gradient(135deg, #8BC6EC 0%, #9599E2 100%);
    }
    .btn {
        background: #db133a;
        border: none;
        height: 2rem;
        border-radius: 2px;
        width: 40%;
        display: block;
        color: #fff;
        outline: none;
        cursor: pointer;
        margin: 1rem auto;
    }
    p {
        text-align: center;
    }
</style>
<body>
<h1 style="text-align:center">DOM Style pageBreakBefore Property Demo</h1>
<p>
Hi! I'm a para element with some dummy text. Hi! I'm a para element with some dummy text.
</p>
<p class="page-break">
Hi! I'm second para element with some dummy text. Hi! I'm a second element with some dummy text.
</p>
<button onclick="set()" class="btn">Break Page Here</button>
<p>
Hi! I'm another para element with some dummy text. Hi! I'm another para element with some dummy text.
</p>
<script>
    function set() {
        document.querySelector(".page-break").style.pageBreakBefore = "always";
    }
</script>
</body>
</html>

実行結果

まず、ブラウザでこのページを開いた状態で印刷プレビューを表示してみましょう。現時点では、すべての段落が1枚のページ内に収まって表示されます。

HTML DOM StyleのpageBreakBeforeプロパティとは?構文と使い方を実例付きで解説

HTML DOM StyleのpageBreakBeforeプロパティとは?構文と使い方を実例付きで解説

次に、Web ページ上にある「赤」のボタンをクリックしてから、もう一度印刷プレビューを開いてみてください。ボタンをクリックすることで、2番目の段落に対して pageBreakBefore = "always" が適用され、その要素の直前に強制的に改ページが挿入されます。

その結果、下の画像のように Web ページが2つのページに分割されていることがはっきりと確認できます。

HTML DOM StyleのpageBreakBeforeプロパティとは?構文と使い方を実例付きで解説

まとめ

pageBreakBefore プロパティを使用すると、JavaScript から動的に印刷時の改ページ位置を制御できます。特に帳票出力や PDF 生成のような印刷を前提とした Web アプリケーションにおいて、コンテンツの区切りを明確にしたい場合に非常に便利です。なお、同様の制御は CSS の break-beforepage-break-before プロパティでも可能ですので、用途に応じて使い分けるとよいでしょう。

  1. HTML DOM StyleのpageBreakInsideプロパティとは?構文と使い方を実例付きで解説

    HTML DOMのpageBreakInsideプロパティは、HTML文書内の特定の要素「内部」における改ページ(ページ区切り)の挙動を取得・変更するためのプロパティです。主に印刷や印刷プレビューの際に、要素の途中でページが分断されるのを防ぎたい場合などに活用されます。構文pageBreakInsideプロパティの基本的な構文は以下のとおりです。1. 値を取得する場合object.pageBreakInside2. 値を設定する場合object.pageBreakInside = value指定できる値valueには以下のいずれかの値を指定できます。値説明auto必要に応じて、要素の内部に改ペ

  2. HTML DOMのdisplayプロパティとは?使い方と全設定値をわかりやすく解説

    HTML DOMのdisplayプロパティは、要素の表示形式(表示タイプ)を設定または取得するために使用されるプロパティです。要素の表示は主に「block(ブロック)」と「inline(インライン)」の2種類に分類されます。また、display:noneを指定することで、要素を画面上から完全に非表示にすることも可能です。 displayプロパティの構文 displayプロパティを設定する場合の構文は以下のとおりです。 object.style.display = value displayプロパティに指定できる値の一覧 displayプロパティには、以下のような値を指定できます。 値説明