CSS break-after Property

Beginner
5 min read
Updated: Oct 2026
3 examples
Live preview

Definition and Usage

The break-after property sets how a page, column, or region break should behave after an element’s box. If the element does not generate a box, the property is ignored.

It applies to block-level elements and is not inherited. The initial value is auto. Breaks are decided together with break-before on the next element and break-inside on the container. Forced values win over avoid values.

Standard-track.

Not experimental. Prefer break-after over the older page-break-after alias. Support for some values (especially column and region) still varies by browser.

CSS Syntax

syntax.css
break-after: auto | avoid | page | column | avoid-page | avoid-column | initial | inherit;

Other keywords exist (always, left, right, region, and more). Start with auto, page, column, and avoid.

Property Values

ValueDescriptionTry it
autoDefault. Allows a break after the box, but does not force oneTry it
pageForces a page break after the box (print / paged media)Try it
columnForces a column break after the box in a multi-column layoutTry it
avoidAvoids any break right after the boxTry it
initialResets to autoTry it
inheritTakes the parent’s break-afterTry it

How to Use break-after

Pick the fragmentation context first (print page or multi-column), then force or avoid a break after a specific block.

  1. Choose the element that should end a page or column.
  2. For print, use break-after: page and check Print Preview.
  3. For columns, put the content in a multi-column container (column-count or columns), then use break-after: column.
  4. Use avoid when the next content must stay with this box if possible.
PieceRequired?Role
Block-level elementYesThe property applies to block boxes
Paged or multi-column contextYes (to see it)Without fragmentation, forced breaks have nowhere to go
break-after keywordYespage, column, avoid, and others
Print PreviewFor pagePage breaks are not visible in normal screen layout

Live Preview

A three-column article. Toggle break-after on each heading. With column, each heading starts a new column in Chromium browsers.

column works best in Chrome and Edge. Firefox and Safari may keep flowing without a forced column break.

Columns

One

Short note under the first heading.

Two

Short note under the second heading.

Three

Short note under the third heading.

break-after: column on each heading

CSS Examples

Each snippet focuses on break-after. Use Print Preview for page breaks. Use Try It Yourself for a live editor.

Example 1 — Force a Page Break

Start the next content on a new printed page.

CSS
<style>
  .end {
    break-after: page;
  }
</style>

<h1>Section A</h1>
<p class="end">Ends this page when printed.</p>
<h1>Section B</h1>
Try It Yourself

How It Works

  1. Mark the end. The paragraph with break-after: page is the last box on that printed page.
  2. Force a page break. The next content starts on a new page in print media.
  3. Check Print Preview. Normal screen layout usually ignores the visual page split.
  4. Prefer modern syntax. Use break-after: page instead of the older page-break-after: always.

Example 2 — Force a Column Break

In a multi-column article, put each heading at the top of a column.

CSS
<style>
  article {
    column-count: 3;
  }

  h2 {
    break-after: column;
  }
</style>

<article>
  <h2>One</h2>
  <p>Text</p>
  <h2>Two</h2>
  <p>Text</p>
  <h2>Three</h2>
  <p>Text</p>
</article>
Try It Yourself

How It Works

  1. Make columns. column-count: 3 creates the fragmentation context.
  2. Break after each heading. break-after: column pushes following content into the next column.
  3. Neater tops. Each heading can sit at the start of a column instead of mid-flow.
  4. Check the browser. Column breaks are reliable in Chrome and Edge; Firefox and Safari may not force them yet.

Example 3 — Avoid a Break

Ask the browser not to split right after this box when it can avoid it.

CSS
<style>
  .keep {
    break-after: avoid;
  }
</style>

<h2 class="keep">Heading</h2>
<p>Try to keep this with the heading.</p>
Try It Yourself

How It Works

  1. Mark the box. The heading gets break-after: avoid.
  2. Soft request. The browser avoids placing a break right after that heading when possible.
  3. Forced breaks still win. A later forced page or column on a neighbor can override avoid rules.
  4. Pair with inside. For keeping a whole block together, also look at break-inside: avoid.

Edge Cases & Pitfalls

If nothing seems to break, one of these is usually why.

print

Page breaks need print media

break-after: page shows in Print Preview or printed output, not as a visible gap in normal screen layout.

column

column support is uneven

break-after: column works in current Chrome and Edge. Firefox and Safari still lack solid column-break support for this property.

legacy

page-break-after is the old alias

Browsers map many page-break-after values to break-after. Note: legacy always aliases to page, not the Level 4 always keyword.

priority

Three properties share one break point

A boundary uses previous break-after, next break-before, and parent break-inside. Forced values beat avoid values; later forced values win ties.

block

Needs a generated block box

The property applies to block-level elements. If no box is generated, break-after is ignored.

Browser Support

break-after is a browser fragmentation property for pages and columns. Node.js, Deno, and Bun do not apply it.

✓ Baseline · Values vary

break-after

Property: Chrome 50+, Firefox 65+, Safari 10+, Edge 12+, IE 10+. page is widely available. column needs Chrome/Edge 102+.

95% Common page values
Google Chrome 50+ · column 102+
Full / partial
Mozilla Firefox 65+ · column limited
Partial
Apple Safari 10+ · column limited
Partial
Microsoft Edge 12+ · column 102+
Full / partial
Opera 37+ · column in Chromium 102+
Full / partial
Samsung Internet Supported · column later
Partial
Internet Explorer 10+
Partial
break-after Widely supported

Bottom line: Safe for print page breaks in modern browsers. Treat column as Chromium-first until Firefox and Safari catch up. Prefer break-after over legacy page-break-after.

Key Takeaways

  • Role: control a break after a box in paged or multi-column layout.
  • Common values: auto, page, column, avoid.
  • Initial value: auto. Not inherited. Block-level elements only.
  • Modern name: use break-after; keep page-break-after only for old code.

One line: break-after decides what happens right after this box — stay together, start a new page, or start a new column.

Frequently Asked Questions

It controls whether a page, column, or region break happens after an element's box. Use it in print layouts and multi-column designs.
The initial value is auto. The browser may break after the element when needed, but nothing is forced.
page forces a new page in paged media such as print. column forces the next content into a new column inside a multi-column container.
page-break-after is the older print-only property. Modern CSS prefers break-after. Browsers treat many page-break-after values as aliases of break-after.
page breaks show when printing or in print preview. column breaks need a multi-column container, and column support is strongest in Chromium-based browsers.
The property is Baseline for common page values: Chrome 50+, Firefox 65+, Safari 10+, Edge 12+. The column value is newer and not supported in Firefox or Safari yet. It is a browser layout property, not a Node.js feature.

Next: break-before

Learn how to force or avoid a break before an element.

break-before tutorial →

About the author

Mari Selvan M P
Mari Selvan M P 🔗

Developer, cloud engineer, and technical writer

  • Experience 12 years building web and cloud systems
  • Focus Full Stack Development, AWS, and Developer Education

I write practical tutorials so students and working developers can learn by doing—from databases and APIs to deployment on AWS.

8 people found this page helpful