The box-decoration-break property controls how an element’s decorations are drawn when the box is split into fragments — across wrapped lines, CSS columns, or printed pages.
Not deprecated and not experimental, but support is incomplete in Safari (prefix + mainly inline breaks). Prefer progressive enhancement for clone highlights.
Create columns.columns: 2 can split one box across column boxes.
Decorate the block. Border, radius, and background show at each fragment edge.
Use clone. Each column piece gets a full border and radius set.
Check Safari. Block fragmentation support is weaker there — treat this as progressive enhancement.
Edge Cases & Pitfalls
If clone looks wrong, check these first.
no break
Nothing changes on a single line
Without a wrap, column split, or page break, slice and clone look the same. Force a real fragment first.
prefix
Safari still needs -webkit-
Put -webkit-box-decoration-break before the standard property. Safari mainly supports inline fragmentation with the prefix.
background
clone redraws backgrounds
With clone, each fragment paints the background again. A no-repeat image can still appear once per fragment.
outline
Outline is not in the decoration list
outline is not listed among the properties this value remaps. Rely on border and background for fragment demos.
columns
Block splits need modern engines
Full clone for column and page breaks landed later (e.g. Chrome 130+). Test multi-column demos in current browsers.
Compatibility
Browser Support
box-decoration-break is a browser CSS property for fragmented boxes. Node.js, Deno, and Bun do not apply it.
✓ Limited availability · Not Baseline
box-decoration-break
Firefox 32+ full. Chrome/Edge 130+ full (earlier: partial via -webkit). Safari: -webkit prefix, mainly inline. IE: none.
72%full modern coverage (approx.)
Google Chrome130+
Full support
Mozilla Firefox32+
Full support
Microsoft Edge130+
Full support
Opera116+
Full support
Apple Safari-webkit (inline)
Partial support
Samsung InternetChromium-based
Partial / improving
Internet ExplorerNo support
Not supported
box-decoration-breakLimited · not Baseline
Bottom line: Ship clone highlights as progressive enhancement. Always include -webkit-box-decoration-break for Safari. It is not a runtime API.
Remember
Key Takeaways
Role: how decorations draw when one box becomes many fragments.
slice: one continuous paint, cut at breaks (default).
clone: each fragment gets its own border, padding, and radius.
Prefix: set -webkit-box-decoration-break before the standard property.
One line: wrapped highlight + box-decoration-break: clone = a finished pill on every line.
Frequently Asked Questions
It controls how background, padding, border, border-radius, box-shadow, and related decorations are drawn when one element splits into fragments across lines, columns, or pages.
slice paints decorations as if the box were whole, then cuts that painting at each break. clone paints a full decoration set on every fragment, so each piece gets its own padding, border, and radius.
The initial value is slice. If you omit the property, browsers use slice.
Use clone for wrapped highlights, pills, and badges where every line should look like its own rounded box. Use slice when you want one continuous decoration across the break.
Yes for broader Safari support. Set -webkit-box-decoration-break first, then the standard box-decoration-break. Safari still relies on the prefix for inline fragments and does not fully support block fragmentation.
It has Limited availability and is not Baseline. Firefox 32+ and Chrome/Edge 130+ support the standard property fully. Safari needs -webkit-box-decoration-break and mainly for inline breaks. Internet Explorer has no support. It is a browser CSS property, not a Node.js feature.