break-before

版本: CSS3

break-before CSS 属性定义页面,列或区域在生成的盒子之前应如何处理中断。如果没有生成的盒子,则忽略该属性。

示例

/* Generic break values */
break-before: auto;
break-before: avoid;

/* Page break values */
break-before: avoid-page;
break-before: page;
break-before: always;
break-before: left;
break-before: right;
break-before: recto;
break-before: verso;

/* Column break values */
break-before: avoid-column;
break-before: column;

/* Region break values */
break-before: avoid-region;
break-before: region;

/* Global values */
break-before: inherit;
break-before: initial;
break-before: unset;

浏览器支持

IE浏览器 火狐浏览器 opera浏览器 chrome浏览器 safari浏览器
IE10以上版本的浏览器都支持 break-before

语法

break-before :auto | avoid | always | all | avoid-page | page | left | right | recto | verso | avoid-column | column | avoid-region | region

每个可能的断点(换句话说,每个元素边界)都受三个属性的影响:上一个元素的break-after值、下一个元素的break-before值和包含元素的break-inside值。

要确定是否必须执行中断,请应用以下规则:

  • 如果三个相关值中的任何一个是强制中断值(always、 left、 right、 page、 column 和 region),则它具有优先权。如果其中有多个元素是这样的中断,则取流中最新出现的元素之一(即,break-before值优先于break-after值,后者本身优先于break-inside值)。
  • 如果三个相关值中的任何一个是避免中断值(avoid, avoid-page, avoid-region, avoid-column),则此时将不应用此类中断。

应用强制打断后,如果需要,可以添加软打断,但不能在解析为相应 avoid 值的元素边界上。

取值:

常规断开值

  • auto:既不强迫也不禁止在主体框之前插入任何分隔符(页、列或区域)。
  • avoid:避免在主体框之前插入任何分隔符(页、列或区域)。

分页值

  • avoid-page:总是在主体框之前插入任何分隔符(页、列或区域)。
  • page:强制在主框前面进行分页符。
  • always:制在主框前面进行分页符。(这是page的别名,保留它是为了便于从之后的分页符转换,后者是此属性的一个子集。)
  • left:强制在主体框的正前方设置一个或两个分页符,以使下一页成为左页。
  • right:强制在主体框前面有一个或两个分页符,这两个分页符将使下一页成为右页。
  • recto:强制在主框前面有一个或两个分页符,以使下一页成为矩形页。(矩形页是从左到右排列中的右页或从右到左排列中的左页。) 这是一个实验项目。
  • verso:强制在主框前面有一个或两个分页符,这两个分页符将使下一页成为一个反页。(横页是从左到右排列中的左页,或从右到左排列中的左右页。) 这是一个实验项目。

分列值

  • avoid-column:避免在主框之前出现任何列中断。
  • column:强制在主框之前进行分栏。

分区域值

  • avoid-region:避免主框前面的任何区域中断。
  • region:强制在主框前面断开区域。
默认值 auto
适用于 块级元素
继承性
动画性
计算值 指定值

上篇: column-fill

下篇: break-after