CSS - break-inside

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.

Syntax  

CSS
break-inside: auto;
break-inside: avoid;
break-inside: avoid-page;
break-inside: avoid-column;
break-inside: avoid-region;

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

CSS
auto <a href="css/value_definition_syntax#single_bar" title="Single bar">|</a> avoid <a href="css/value_definition_syntax#single_bar" title="Single bar">|</a> avoid-page <a href="css/value_definition_syntax#single_bar" title="Single bar">|</a> avoid-column <a href="css/value_definition_syntax#single_bar" title="Single bar">|</a> avoid-region

Description  

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.

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:

  1. If any of the three concerned values is a forced break value, that is always, left, right, page, column or region, 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 the break-before value has precedence over the break-after value, which itself has precedence over the break-inside value).
  2. 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 valueauto
Applies toblock-level elements
Inheritedno
Mediapaged
Computed valueas specified
Animatableno
Canonical orderthe unique non-ambiguous order defined by the formal grammar

Browser Compatibility  

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic support Not supported [*] Not supported 10 11.10 Not supported [*]
column, avoid-column Not supported [*] Not supported 10 11.10 Not supported [*]
recto, verso Not supported Not supported Not supported Not supported Not supported
region, avoid-region Not supported [*] Not supported Not supported Not supported Not supported [*]
Feature Android Firefox Mobile (Gecko) IE Phone Opera Mobile Safari Mobile
Basic support Not supported [*] Not supported ? ? Not supported [*]
column, avoid-column Not supported [*] Not supported ? ? Not supported [*]
recto, verso Not supported Not supported Not supported Not supported Not supported
region, avoid-region Not supported [*] Not supported Not supported Not supported Not supported[*]

[*] 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.

Specifications  

Specification Status Comment
CSS Fragmentation Module Level 3
The definition of 'break-inside' in that specification.
Working Draft  
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

License

© 2016 Mozilla Contributors
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-us/docs/web/css/break-inside

CSS CSS Fragmentation CSS Property NeedsExample Reference