CSS break-before Property
Description
The break-before property controls how a box is allowed or required to be fragmented with respect to the beginning of the box: it instructs the user agent whether it should attempt to break just before the element when laying out across fragmentation boundaries such as printed pages, multicolumn containers, or regions. In practice this means the property can steer the layout so that an element starts at the top of a new page, column, or region, or conversely try to avoid placing a break immediately before it. The behavior is scoped to the fragmentation context in which the element participates - what constitutes a “page” or “column” depends on the formatting context (paged media, multicol, or CSS Regions).
When the same place in the flow is affected by multiple break control rules, the user agent must resolve those requests according to the fragmentation rules: adjacent elements may each request breaks and the implementation uses a defined conflict-resolution strategy to decide whether a break occurs and where. This property works alongside other fragmentation control properties - for example, break-after can request breaks after an element, and break-inside can be used to discourage breaks inside an element’s contents. These properties are not inherited and are applied to the generating box itself; they are treated as hints that must also respect stronger constraints such as required page margins, keep-together constraints, and the intrinsic size of content.
Practical use-cases include printing documents where you want headings or sections to begin on a fresh page or column, and multi-column layouts where certain elements must not start at the bottom of a column. Implementations will still enforce limits - for example, if content cannot fit on the next fragment because of size constraints, the required break might be postponed or the content split, depending on the formatting object and context. Absolutely positioned boxes and floats are not fragmented in the same way as normal flow boxes, so the property has no effect on elements taken out of the flow. In short, break-before is a tool for guiding fragmentation decisions at the start of an element’s box, but it operates within a larger system of layout constraints and related fragmentation properties.
Definition
- Initial value
- auto
- Applies to
- Block level elements
- Inherited
- No
- Computed value
- Specified value
- Animatable
- No
- JavaScript syntax
- object.style.breakBefore
Syntax
break-before: auto | always | avoid | left | right | page | column | avoid-page | avoid-column
Values
- autoAllows, meaning neither forbid nor force, any break (either page, column or region) to be be inserted after the principal box.
- alwaysA page/column/region break is inserted (forced) after the content block.
- leftForce one or two page breaks right after the principal box so that the next page is formatted as a left page.
- rightForce one or two page breaks right after the principal box so that the next page is formatted as a right page.
- rectoForce one or two page breaks right after the principal box so that next page is formatted as a recto page, that is a right page in a left-to-right spread or a left page in a right-to-left spread.
- versoForce one or two page breaks right after the principal box so that next page is formatted as a verso page, that is a left page in a left-to-right spread or a left right in a right-to-left spread.
- pageAlways force one page break right after the principal box.
- columnAlways force one column break right after the principal box.
- regionAlways force one region break right after the principal box.
- avoidPrevent any break, either page, column or region, to be inserted right after the principal box.
- avoid-pageAvoid any page break right after the principal box.
- avoid-columnAvoid any column break right after the principal box.
- avoid-regionAvoid any region break right after the principal box.
- inherit
Example
Browser Support
The following information will show you the current browser support for the CSS break-before property. Hover over a browser icon to see the version that first introduced support for this CSS property.
This property is supported by all modern browsers.
Desktop
Tablets & Mobile
Last updated by CSSPortal on: 1st January 2026
