--- title: break-after slug: Web/CSS/break-after tags: - CSS - CSS 属性 - 参考 translation_of: Web/CSS/break-after --- <div>{{CSSRef}}</div> <p><strong><code>break-after</code></strong> <a href="/en-US/docs/CSS">CSS</a> 属性描述在生成的盒子之后的页面,列或区域中断行为(换句话说,如何以及是否中断)。如果没有生成的盒子,则该属性将被忽略。</p> <pre class="brush:css no-line-numbers">/* Generic break values */ break-after: auto; break-after: avoid; break-after: always; break-after: all; /* Page break values */ break-after: avoid-page; break-after: page; break-after: left; break-after: right; break-after: recto; break-after: verso; /* Column break values */ break-after: avoid-column; break-after: column; /* Region break values */ break-after: avoid-region; break-after: region; /* Global values */ break-after: inherit; break-after: initial; break-after: unset; </pre> <p>每个潜在的断点(亦即每个元素的边界)都受到三个属性的影响:上一个元素的 <code>break-after</code> 值、下一个元素的 <code>break-before</code> 值以及当前元素自身的 <code>break-inside</code> 值。</p> <p>以下规则被用于判断中断是否必要:</p> <ol> <li>如果上述三个属性中,如果任何一个的值属于“强制中断”值,那么这个属性将被优先应用,此处所称“强制中断”的值为: <code>always</code>、 <code>left</code>、 <code>right</code>、 <code>page</code>、 <code>column</code> 和 <code>region</code>。If several of the concerned values is such a break, the one of the element that appears the latest in the flow is taken (that is the {{cssxref("break-before")}} value has precedence over the <code>break-after</code> value, which itself has precedence over the {{cssxref("break-inside")}} value).</li> <li>If any of the three concerned values is an <em>avoid break value</em>, that is <code>avoid</code>, <code>avoid-page</code>, <code>avoid-region</code>, <code>avoid-column</code>, no such break will be applied at that point.</li> </ol> <p>Once forced breaks have been applied, soft breaks may be added if needed, but not on element boundaries that resolve in a corresponding <code>avoid</code> value.</p> <p>{{cssinfo}}</p> <h2 id="语法">语法</h2> <p>The <code>break-after</code> property is specified as one of the keyword values from the list below.</p> <h3 id="属性值">属性值</h3> <h4 id="Generic_break_values">Generic break values</h4> <dl> <dt><code>auto</code></dt> <dd>Allows, but does not force, any break (page, column, or region) to be inserted right after the principal box.</dd> <dt><code>avoid</code></dt> <dd>Avoids any break (page, column, or region) from being inserted right after the principal box.</dd> <dt><code>always</code> {{experimental_inline}}</dt> <dd>Forces a page break right after the principal box. The type of this break is that of the immediately-containing fragmentation context. If we are inside a multicol container then it would force a column break, inside paged media (but not inside a multicol container) a page break.</dd> <dt><code>all</code> {{experimental_inline}}</dt> <dd>Forces a page break right after the principal box. Breaking through all possible fragmentation contexts. So a break inside a multicol container, which was inside a page container would force a column and page break.</dd> </dl> <h4 id="Page_break_values">Page break values</h4> <dl> <dt><code>avoid-page</code></dt> <dd>Avoids any page break right after the principal box.</dd> <dt><code>page</code></dt> <dd>Forces a page break right after the principal box.</dd> <dt><code>left</code></dt> <dd>Forces one or two page breaks right after the principal box, whichever will make the next page into a left page.</dd> <dt><code>right</code></dt> <dd>Forces one or two page breaks right after the principal box, whichever will make the next page into a right page.</dd> <dt><code>recto</code> {{experimental_inline}}</dt> <dd>Forces one or two page breaks right after the principal box, whichever will make the next page into a recto page. (A recto page is a right page in a left-to-right spread or a left page in a right-to-left spread.)</dd> <dt><code>verso</code> {{experimental_inline}}</dt> <dd>Forces one or two page breaks right after the principal box, whichever will make the next page into a verso page. (A verso page is a left page in a left-to-right spread or a left right in a right-to-left spread.)</dd> </dl> <h4 id="Column_break_values">Column break values</h4> <dl> <dt><code>avoid-column</code></dt> <dd>Avoids any column break right after the principal box.</dd> <dt><code>column</code></dt> <dd>Forces a column break right after the principal box.</dd> </dl> <h4 id="Region_break_values">Region break values</h4> <dl> <dt><code>avoid-region</code> {{experimental_inline}}</dt> <dd>Avoids any region break right after the principal box.</dd> <dt><code>region</code> {{experimental_inline}}</dt> <dd>Forces a region break right after the principal box.</dd> </dl> <h3 id="形式化语法">形式化语法</h3> {{csssyntax}} <h2 id="Page_break_aliases">Page break aliases</h2> <p>For compatibility reasons, the legacy {{cssxref("page-break-after")}} property should be treated by browsers as an alias of <code>break-after</code>. This ensures that sites using <code>page-break-after</code> continue to work as designed. A subset of values should be aliased as follows:</p> <table> <thead> <tr> <th scope="col">page-break-after</th> <th scope="col">break-after</th> </tr> </thead> <tbody> <tr> <td><code>auto</code></td> <td><code>auto</code></td> </tr> <tr> <td><code>left</code></td> <td><code>left</code></td> </tr> <tr> <td><code>right</code></td> <td><code>right</code></td> </tr> <tr> <td><code>avoid</code></td> <td><code>avoid</code></td> </tr> <tr> <td><code>always</code></td> <td><code>page</code></td> </tr> </tbody> </table> <div class="blockIndicator note"> <p>The <code>always</code> value of <code>page-break-*</code> was implemented by browsers as a page break, and not as a column break. Therefore the aliasing is to <code>page</code>, rather than the <code>always</code> value in the Level 4 spec.</p> </div> <h2 id="规范">规范</h2> <table class="standard-table"> <thead> <tr> <th scope="col">规范</th> <th scope="col">状态</th> <th scope="col">备注</th> </tr> </thead> <tbody> <tr> <td>{{SpecName('CSS3 Fragmentation', '#break-between', 'break-after')}}</td> <td>{{Spec2('CSS3 Fragmentation')}}</td> <td>Adds the <code>recto</code> and <code>verso</code> keywords. Changes the media type of this property from <code>paged</code> to {{xref_cssvisual}}. Defines the breaking algorithm with different kinds of breaks.</td> </tr> <tr> <td>{{SpecName('CSS3 Regions', '#region-flow-break', 'break-after')}}</td> <td>{{Spec2('CSS3 Regions')}}</td> <td>Extends the property to handle region breaks. Adds the <code>avoid-region</code> and <code>region</code> keywords.</td> </tr> <tr> <td>{{SpecName('CSS3 Multicol', '#break-before-break-after-break-inside', 'break-after')}}</td> <td>{{Spec2('CSS3 Multicol')}}</td> <td>Initial definition. Extends the CSS 2.1 {{cssxref("page-break-after")}} property to handle both page and column breaks.</td> </tr> </tbody> </table> <h2 id="浏览器兼容性">浏览器兼容性</h2> <h3 id="Support_in_multi-column_layout">Support in multi-column layout</h3> <p>{{Compat("css.properties.break-after.multicol_context")}}</p> <h3 id="Support_in_paged_media">Support in paged media</h3> <p>{{Compat("css.properties.break-after.paged_context")}}</p>