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,columnorregion, 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-beforevalue has precedence over thebreak-aftervalue, which itself has precedence over thebreak-insidevalue). - 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.