The page-break-inside property adjusts page breaks inside the current element in print and other paged media. Use it to keep a table, figure, or card from splitting awkwardly across two pages.
Screen layout cannot show real print pages. This demo simulates a split inside the marked box when you choose auto, and keeps the box whole when you choose avoid.
Use Print Preview on a real page to confirm. avoid aliases to break-inside: avoid.
Print simulation
Content before
Marked box — top half
page break inside
Marked box — bottom half
Content after
page-break-inside: avoid
Code
CSS Examples
Each snippet focuses on page-break-inside. Confirm with Print Preview. Use Try It Yourself for a live editor.
Example 1 — Keep a Block Whole
Ask the browser not to split a figure across two printed pages.
CSS
<style>
.figure {
page-break-inside: avoid;
}
</style>
<div class="figure">
<p>Caption and image stay together.</p>
<p>Prefer one page for this block.</p>
</div>
Simulation: avoid hides the split. Open Print Preview in the try-it editor for a real check.
How It Works
Mark the box. The figure gets page-break-inside: avoid.
Soft request. The printer tries to keep the whole box on one page.
Alias map. Browsers treat this like break-inside: avoid.
Verify in print. Screen layout usually will not show the protection.
Example 2 — Default Auto
Allow the print engine to split the block if the page fills up.
CSS
<style>
.article {
page-break-inside: auto;
}
</style>
<div class="article">
<p>Long text may continue on the next page.</p>
<p>A break inside is allowed.</p>
</div>
Applies to block-level elements in normal flow. User agents may also apply it to table rows.
migrate
Prefer break-inside for new work
Keep page-break-inside only for older stylesheets. New print CSS should use break-inside.
Compatibility
Browser Support
page-break-inside is a browser print layout property. Node.js, Deno, and Bun do not apply it.
✓ Legacy · Widely available
page-break-inside
Supported across modern browsers and older Internet Explorer for auto and avoid. Prefer break-inside for new CSS.
98%Common print values
Google ChromeSupported
Full
Mozilla FirefoxSupported
Full
Apple SafariSupported
Full
Microsoft EdgeSupported
Full
OperaSupported
Full
Samsung InternetSupported
Full
Internet Explorer4+
Full
page-break-insideWidely supported
Bottom line: Safe as a legacy print property. For new projects, use break-inside and treat page-break-inside as compatibility-only.
Remember
Key Takeaways
Role: control a print page break inside a block box.
Common values:auto and avoid only.
Initial value:auto. Not inherited. Deprecated alias of break-inside.
Migration: replace with break-inside: avoid (or auto).
One line:page-break-inside keeps a printed block together with avoid — learn it, then use break-inside.
Frequently Asked Questions
It controls whether a page break is allowed inside an element when printing. Use avoid to keep tables, figures, or cards from splitting across two pages.
The initial value is auto. The browser may insert a page break inside the element when the print layout needs one.
Yes. It is a legacy alias kept for older pages. New CSS should use break-inside instead. Browsers still support page-break-inside for compatibility.
The common keywords are auto and avoid. Global values like initial and inherit also work. Unlike page-break-before, there is no always value.
Page breaks apply in paged media such as Print Preview. Normal screen layout usually does not show a visible split inside the box.
It is widely available in all major browsers, including older Internet Explorer. It is a browser print layout property, not a Node.js feature.