--- title: break-after slug: Web/CSS/break-after tags: - CSS - CSS Fragmentation - CSS Multi-column Layout - CSS Property - NeedsExample - Reference - 'recipe:css-property' translation_of: Web/CSS/break-after ---
break-after
は CSS のプロパティで、生成されたボックスの後で、ページ、段、領域をどのように区切るかを設定します。ボックスが生成されない場合は、このプロパティは無視されます。
/* 一般の区切り値 */ break-after: auto; break-after: avoid; break-after: always; break-after: all; /* 改ページ値 */ break-after: avoid-page; break-after: page; break-after: left; break-after: right; break-after: recto; break-after: verso; /* 段区切り値 */ break-after: avoid-column; break-after: column; /* 領域区切り値 */ break-after: avoid-region; break-after: region; /* グローバル値 */ break-after: inherit; break-after: initial; break-after: unset;
区切り位置になる可能性のある場所 (言い換えれば、要素の境界) は、三つのプロパティに影響されます。前の要素の break-after
の値、次の要素の {{cssxref("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
に関する値に解決される要素の境界には追加されません。
break-after
プロパティは、以下の一覧にあるキーワード値のうちの一つで指定します。
auto
avoid
always
{{experimental_inline}}all
{{experimental_inline}}avoid-page
page
left
right
recto
{{experimental_inline}}verso
{{experimental_inline}}avoid-column
column
avoid-region
{{experimental_inline}}region
{{experimental_inline}}互換性のため、古い {{cssxref("page-break-after")}} はブラウザーから break-after
の別名として扱われます。これにより、 page-break-after
を使用しているサイトが引き続き設計通りに動作することを保証します。値のサブセットは次のような別名になります。
page-break-after | break-after |
---|---|
auto |
auto |
left |
left |
right |
right |
avoid |
avoid |
always |
page |
ブラウザーにおいては always
の値は page-break-*
において、段区切りではなくページ区切りとして実装されています。したがって、 Level 4 の仕様書では always
の値ではなく page
の別名となっています。
{{cssinfo}}
次の例では、すべての段にまたがる <h1>
(column-span: all
を使用して実現) と、一連の <h2>
と段落を column-width: 200px
を使用して段組みレイアウトしたコンテナーを用意しています。
既定では、小見出しと段落は、見出しの位置が統一されていないため、かなり乱雑にレイアウトされていました。しかし、 break-after: column
を <p>
要素に使うことで、それぞれの要素の後に強制的に改行するようにしたので、各段の先頭に <h2>
がきちんと配置されます。
<article> <h1>Main heading</h1> <h2>Subheading</h2> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla vitae fringilla mauris. Quisque commodo eget nisi sed pretium. Mauris luctus nec lacus in ultricies. Mauris vitae hendrerit arcu, ac scelerisque lacus. Aliquam lobortis in lacus sit amet posuere. Fusce iaculis urna id neque dapibus, eu lacinia lectus dictum.</p> <h2>Subheading</h2> <p>Praesent condimentum dui dui, sit amet rutrum diam tincidunt eu. Cras suscipit porta leo sit amet rutrum. Sed vehicula ornare tincidunt. Curabitur a ipsum ac diam mattis volutpat ac ut elit. Nullam luctus justo non vestibulum gravida. Morbi metus libero, pharetra non porttitor a, molestie nec nisi.</p> <h2>Subheading</h2> <p>Vivamus eleifend metus vitae neque placerat, eget interdum elit mattis. Donec eu vulputate nibh. Ut turpis leo, malesuada quis nisl nec, volutpat egestas tellus. <h2>Subheading</h2> <p>In finibus viverra enim vel suscipit. Quisque consequat velit eu orci malesuada, ut interdum tortor molestie. Proin sed pellentesque augue. Nam risus justo, faucibus non porta a, congue vel massa. Cras luctus lacus nisl, sed tincidunt velit pharetra ac. Duis suscipit faucibus dui sed ultricies.</p> </article>
html { font-family: helvetica, arial, sans-serif; } h1 { font-size: 3rem; letter-spacing: 2px; column-span: all; } h2 { font-size: 1.2rem; color: red; letter-spacing: 1px; } p { line-height: 1.5; break-after: column; } article { column-width: 200px; gap: 20px; }
{{EmbedLiveSample('Breaking_into_neat_columns', '100%', 600)}}
仕様書 | 状態 | 備考 |
---|---|---|
{{SpecName('CSS3 Fragmentation', '#break-between', 'break-after')}} | {{Spec2('CSS3 Fragmentation')}} | recto および verso キーワードを追加。このプロパティのメディア種別を paged から {{xref_cssvisual}} に変更。異なる種類の区切りを持つ区切りアルゴリズムを定義した。 |
{{SpecName('CSS3 Regions', '#region-flow-break', 'break-after')}} | {{Spec2('CSS3 Regions')}} | 領域区切りを扱うようにプロパティを拡張した。 avoid-region および region キーワードを追加した。 |
{{SpecName('CSS3 Multicol', '#break-before-break-after-break-inside', 'break-after')}} | {{Spec2('CSS3 Multicol')}} | 初回定義。 CSS 2.1 の {{cssxref("page-break-after")}} プロパティを拡張し、ページ区切りと段区切りの両方を扱うようにした。 |
{{Compat("css.properties.break-after.multicol_context")}}
{{Compat("css.properties.break-after.paged_context")}}