--- title: break-before slug: Web/CSS/break-before tags: - CSS - CSS プロパティ - CSS 断片化 - CSS 段組みレイアウト - Reference translation_of: Web/CSS/break-before ---
CSS の break-before プロパティは、生成されたボックスの前で、ページ、段、領域をどのように区切るかを設定します。ボックスが生成されない場合は、このプロパティは無視されます。
/* 一般の区切り値 */ break-before: auto; break-before: avoid; break-before: always; break-before: all; /* 改ページ値 */ break-before: avoid-page; break-before: page; break-before: left; break-before: right; break-before: recto; break-before: verso; /* 段区切り値 */ break-before: avoid-column; break-before: column; /* 領域区切り値 */ break-before: avoid-region; break-before: region; /* グローバル値 */ break-before: inherit; break-before: initial; break-before: unset;
区切り位置になる可能性のある場所 (言い換えれば、要素の境界) は、三つのプロパティに影響されます。前の要素の {{cssxref("break-after")}} の値、次の要素の break-before の値、包含要素の {{cssxref("break-inside")}} の値です。
区切られるかどうかを判断するために、以下の規則が適用されます。
always, left, right, page, column, region の何れか) がある場合、それが優先されます。そのような区切りが複数ある場合は、フローの中で最も後に現れる要素のものが使用されます (つまり、 break-before の値は break-after の値より優先し、それは更に break-inside よりも優先します)。avoid, avoid-page, avoid-region, avoid-column の何れか) が含まれていた場合は、その場所で区切りは適用されません。強制的な区切りが適用されると、必要に応じてソフトな区切りが追加される場合がありますが、 avoid に関する値に解決される要素の境界には追加されません。
{{cssinfo}}
break-before プロパティは、以下の一覧にあるキーワード値のうちの一つで指定します。
autoavoidalways {{experimental_inline}}all {{experimental_inline}}avoid-pagepageleftrightrecto {{experimental_inline}}verso {{experimental_inline}}avoid-columncolumnavoid-region {{experimental_inline}}region {{experimental_inline}}互換性のため、古い {{cssxref("page-break-before")}} はブラウザーから break-before の別名として扱われます。これにより、 page-break-before を使用しているサイトが引き続き設計通りに動作することを保証します。値のサブセットは次のような別名になります。
| page-break-before | break-before |
|---|---|
auto |
auto |
left |
left |
right |
right |
avoid |
avoid |
always |
page |
ブラウザーにおいては always の値は page-break-* において、段区切りではなくページ区切りとして実装されています。したがって、 Level 4 の仕様書では always の値ではなく page の別名となっています。
| 仕様書 | 状態 | 備考 |
|---|---|---|
| {{SpecName('CSS3 Fragmentation', '#break-between', 'break-before')}} | {{Spec2('CSS3 Fragmentation')}} | recto および verso キーワードを追加。このプロパティのメディア種別を paged から {{xref_cssvisual}} に変更。異なる種類の区切りを持つ区切りアルゴリズムを定義した。 |
| {{SpecName('CSS3 Regions', '#region-flow-break', 'break-before')}} | {{Spec2('CSS3 Regions')}} | 領域区切りを扱うようにプロパティを拡張した。 avoid-region および region キーワードを追加した。 |
| {{SpecName('CSS3 Multicol', '#break-before-break-after-break-inside', 'break-before')}} | {{Spec2('CSS3 Multicol')}} | 初回定義。 CSS 2.1 の {{cssxref("page-break-before")}} プロパティを拡張し、ページ区切りと段区切りの両方を扱うようにした。 |
{{Compat("css.properties.break-before.multicol_context")}}
{{Compat("css.properties.break-before.paged_context")}}