The break-inside
CSS property describes how the page, column or region break inside the generated box. If there is no generated box, the property is ignored.
break-inside: auto; break-inside: avoid; break-inside: avoid-page; break-inside: avoid-column; break-inside: avoid-region;
Each possible break point, that is each element boundary, is under the influence of three properties, the break-after
value of the previous element, the break-before
value of the next element and the break-inside
of the containing element.
To define if a break must be done, the following rules are applied:
- If any of the three concerned values is a forced break value, that is
always
,left
,right
,page
,column
orregion
, it has precedence. 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 thebreak-before
value has precedence over thebreak-after
value, which itself has precedence over thebreak-inside
value). - If any of the three concerned values is an avoid break value, that is
avoid
,avoid-page
,avoid-region
,avoid-column
, no such break will be applied at that point.
Once forced breaks have been applied, soft breaks may be added if needed, but not on element boundaries that resolve in a corresponding avoid value.
Initial value | auto |
---|---|
Applies to | block-level elements |
Inherited | no |
Media | paged |
Computed value | as specified |
Animation type | discrete |
Canonical order | the unique non-ambiguous order defined by the formal grammar |
Syntax
Values
auto
- Allows, meaning neither forbid nor force, any break (either page, column or region) to be be inserted within the principle box.
avoid-page
- Avoid any page break within the principle box.
avoid-column
- Avoid any column break within the principle box.
avoid-region
- Avoid any region break within the principle box.
Formal syntax
auto | avoid | avoid-page | avoid-column | avoid-region
Specifications
Specification | Status | Comment |
---|---|---|
CSS Fragmentation Module Level 3 The definition of 'break-inside' in that specification. |
Candidate Recommendation | |
CSS Regions Module Level 1 The definition of 'break-inside' in that specification. |
Working Draft | Extends the property to handle region breaks. |
CSS Multi-column Layout Module The definition of 'break-inside' in that specification. |
Candidate Recommendation | Initial definition |
Browser compatibility
Feature | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|---|
Basic support | No support [*] | (Yes)[1] | No support | 10 | 11.10 | No support [*] |
column , avoid-column |
No support [*] | No support | No support | 10 | 11.10 | No support [*] |
recto , verso |
No support | No support | No support | No support | No support | No support |
region , avoid-region |
No support [*] | No support | No support | No support | No support | No support [*] |
Feature | Android | Edge | Firefox Mobile (Gecko) | IE Phone | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | No support [*] | (Yes)[1] | No support | ? | ? | No support [*] |
column , avoid-column |
No support [*] | No support | No support | ? | ? | No support [*] |
recto , verso |
No support | No support | No support | No support | No support | No support |
region , avoid-region |
No support [*] | No support | No support | No support | No support | No support[*] |
[*] WebKit and Blink browsers don't support this property, but some have the non-standard -webkit-column-break-before
and -webkit-region-break-before
with similar parameters as page-break-before
.
[1] Edge also supports the non-standard -webkit-column-break-inside
variant.