The break-before property controls page, column, and region breaks before an element. It is especially useful for print documents and multi-column layouts where each new section should start fresh on a new page or column.
01
Break Before
Split before element.
02
Syntax
auto, page, column.
03
Print Chapters
New page per section.
04
Columns
Start in new column.
05
avoid
Prevent awkward splits.
06
vs break-after
Before vs after split.
Fundamentals
Definition and Usage
The break-before CSS property controls the page, column, or region break behavior before a specified element. This property is particularly useful in paged media (such as printed documents) or multi-column layouts, allowing you to dictate how content flows across pages or columns.
For example, you can force every chapter heading to start on a new printed page, or make each sidebar section begin at the top of a new column in a magazine-style layout.
💡
Beginner Tip
Think of break-before as “start this element on a fresh page or column.” It affects the space before the element, not after it.
Foundation
📝 Syntax
The syntax for break-before is straightforward and accepts several keyword values:
syntax.css
selector{break-before:auto | always | avoid | left | right | page | column | region;}
Basic Example
break-before.css
@mediaprint{h2{break-before:page;}}
Syntax Rules
The initial value is auto.
The property is not inherited — apply it to the element that should start the break.
page forces a new page before the element in paged media.
column forces a new column before the element in multi-column containers.
Use @media print when you only want breaks during printing.
Cheat Sheet
⚡ Quick Reference
Question
Answer
Initial value
auto
Applies to
Block-level elements
Inherited
No
Animatable
No
Common use
Chapter headings in print; section starts in columns
Reference
💎 Property Values
The break-before property accepts keyword values that control fragmentation before an element.
Value
Example
Meaning
auto
break-before: auto;
Default. Neither force nor forbid a break before the element.
always
break-before: always;
Always force a page break before the element.
avoid
break-before: avoid;
Avoid a page break before the element when possible.
left
break-before: left;
Force a break so the element starts on a left page (paged media).
right
break-before: right;
Force a break so the element starts on a right page (paged media).
page
break-before: page;
Force a page break before the element.
column
break-before: column;
Force a column break before the element in a multi-column layout.
region
break-before: region;
Force a region break before the element.
autopagecolumnavoid
Concept
break-before vs. break-after
These two properties sound similar but control breaks on opposite sides of an element:
break-before — Inserts a break before the element. The element itself starts on a new page or column. Ideal for chapter headings and section titles.
break-after — Inserts a break after the element. Content following the element starts fresh. Ideal for ending a section and pushing the next block down.
For chapter headings, break-before: page on h2 is usually the clearest choice — the heading and its content begin together on a new page.
Preview
👀 Live Preview
The purple block uses break-before: column, so it starts at the top of a new column in this two-column container.
First column content flows here before the forced break.
Section 2 — starts in column 2
Content after the section heading continues in the second column.
Hands-On
Examples Gallery
Try print chapter breaks, column section starts, avoid rules, and a complete print stylesheet.
🖨 Print Chapter Breaks
Force each chapter heading to start on a new printed page — the same pattern from the reference example.
Example 1 — Page Break Before Chapter Headings
When the document is printed, a page break is forced before each <h2>, so Chapter 2 starts on a new page.
chapter-break.html
<style>@mediaprint{h2{break-before:page;}}</style><h1>Chapter 1</h1><p>Content of the first chapter...</p><h2>Chapter 2</h2><p>Content of the second chapter...</p>
Open print preview (Ctrl+P) to see the page break before Chapter 2:
Chapter 1
Content of the first chapter...
Chapter 2
Content of the second chapter...
How It Works
The first chapter flows normally. Before the second h2, the browser starts a new printed page so Chapter 2 begins at the top of a fresh sheet.
📚 Multi-Column Sections
Use break-before: column so each section heading starts at the top of a new column.
Example 2 — Column Break Before a Section
Start a new section at the top of the next column in a magazine-style layout.
column-break-before.html
<style>.columns{column-count:2;column-gap:1.5rem;}.section-title{break-before:column;}</style><divclass="columns"><p>Intro text in column one...</p><h3class="section-title">Section B</h3><p>Section B starts in the next column.</p></div>
First section keeps break-before: auto — no blank first page
How It Works
Every section heading except the first gets a page break before it. Resetting the first section avoids an unnecessary blank page at the start of the document.
🧠 How break-before Works
1
Content flows toward the element
Previous paragraphs, images, or columns fill the layout until the target element is reached.
Normal flow
2
You set break-before on the element
Choose page, column, avoid, or another keyword to control the break before it.
CSS rule
3
The browser inserts or suppresses the break
The element starts on a new page or column, or the break is avoided to keep content grouped.
Fragmentation
=
📄
Organized sections
Chapters and sections begin exactly where you intend in print and column layouts.
Compatibility
Universal Browser Support
The break-before property is supported in most modern browsers, including Chrome, Firefox, Safari, Edge, and Opera. Test print and column behavior in the browsers your audience uses.
✓ Baseline · Modern browsers
Reliable break control in current browsers
Chrome, Firefox, Safari, Edge, and Opera support break-before for print and fragmentation contexts.
96%Modern browser support
Google Chrome51+ · Desktop & Mobile
Full support
Mozilla Firefox65+ · Desktop & Mobile
Full support
Apple Safari10+ · macOS & iOS
Full support
Microsoft Edge79+ · Chromium
Full support
Opera38+ · Modern versions
Full support
Testing tip
Use print preview for break-before: page. Use a column-count container on screen to test break-before: column.
break-before property96% supported
Bottom line: Use break-before confidently for print chapters and column sections. Always verify in print preview.
Wrap Up
Conclusion
The break-before property is a useful tool for web developers working with paged media or multi-column layouts. It allows fine-grained control over content flow, ensuring that elements appear in the desired locations across pages or columns.
By understanding and using this property, you can create more professional and well-organized documents and layouts. Experiment with page, column, and avoid to find the right break behavior for your project.
Use break-before: page on chapter and section headings in print CSS
Scope print breaks inside @media print
Reset break-before on the first section to avoid a blank opening page
Use break-before: column for magazine-style section starts
Pair with break-inside: avoid on figures and tables
❌ Don’t
Confuse break-before with break-after — they control opposite sides
Expect visible page breaks on normal scrolling screen layouts
Force a page break before every small heading — it wastes paper
Use legacy page-break-before in new projects
Skip print preview when testing page-break behavior
Summary
Key Takeaways
Knowledge Unlocked
Five things to remember about break-before
Use these points when placing breaks before elements.
5
Core concepts
📄01
Break Before
Splits before element.
Purpose
⚙02
auto Default
Natural flow.
Default
🖨03
page / column
Print and columns.
Keywords
📚04
Chapter Starts
h2 on new page.
Pattern
⇄05
vs break-after
Before, not after.
Compare
❓ Frequently Asked Questions
break-before controls whether a page, column, or region break happens before an element. It lets you force content to start on a new page or column right before a specific element.
The initial value is auto. With auto, no break is forced before the element and content flows naturally according to the browser's layout rules.
break-before inserts a break before the element, so the element starts on a new page or column. break-after inserts a break after the element, so the next content starts fresh.
Use it when each new chapter, section, or column block should begin on a fresh page or column — for example, starting every h2 chapter on a new printed page.
break-before is the modern standard property that replaces the older page-break-before. Prefer break-before in new projects; legacy print CSS may still use page-break-before.