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

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

HTML DOMのpageBreakInsideプロパティは、HTML文書内の特定の要素「内部」における改ページ(ページ区切り)の挙動を取得・変更するためのプロパティです。主に印刷や印刷プレビューの際に、要素の途中でページが分断されるのを防ぎたい場合などに活用されます。

構文

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

1. 値を取得する場合

object.pageBreakInside

2. 値を設定する場合

object.pageBreakInside = "value"

指定できる値

valueには以下のいずれかの値を指定できます。

説明
auto必要に応じて、要素の内部に改ページを挿入します(デフォルト値)。
avoid要素の内部で改ページが行われるのを回避します。
initialこのプロパティの値をデフォルト値(auto)に戻します。
inherit親要素からこのプロパティの値を継承します。

pageBreakInsideプロパティの使用例

それでは、実際のコード例を見てみましょう。ボタンをクリックすると、2つ目の段落要素に対してpageBreakInside: avoidが適用され、その段落の内部で改ページされなくなります。

<!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 pageBreakInside 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">Set 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.pageBreakInside = "avoid";
    }
</script>
</body>
</html>

実行結果

まず、ブラウザでページを開いた状態で印刷プレビューを表示してみてください。通常の状態では、段落要素がページの境界で分断される可能性があります。

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

次に、赤いボタンをクリックしてから再度印刷プレビューを確認しましょう。avoidが設定されたことで、対象の段落要素の内部では改ページが行われなくなり、要素全体が同じページ内に収まるようになります。

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

まとめ

pageBreakInsideプロパティを使えば、JavaScriptから動的に印刷時の改ページ位置を制御できます。特に表や図、見出しと本文のセットなど、途中で分断されたくないコンテンツがある場合にavoidを指定することで、読みやすい印刷レイアウトを実現できます。なお、類似のプロパティとして要素の直前・直後の改ページを制御するpageBreakBeforepageBreakAfterもありますので、用途に応じて使い分けるとよいでしょう。

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

    HTML DOM の Style pageBreakBefore プロパティは、HTML ドキュメント内の特定の要素の直前で、印刷または印刷プレビュー時に改ページを行うかどうかの動作を取得(参照)および変更(設定)するためのプロパティです。Web ページをそのまま印刷した場合、要素の途中で不自然にページが分断されることがあります。このプロパティを使えば、印刷レイアウトを意図的に制御でき、見やすい帳票やドキュメント出力を実現できます。構文pageBreakBefore プロパティの基本的な構文は以下のとおりです。1. 値を取得する場合object.pageBreakBefore2. 値を設定する

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

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