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;
浏览器支持
![]() | ![]() | ![]() | ![]() | ![]() |
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 |
适用于 | 块级元素 |
继承性 | 无 |
动画性 | 否 |
计算值 | 指定值 |