The isolation property decides whether an element must create a new stacking context. With isolate, it always does. With auto (the default), a stacking context appears only if another property on that element requires one.
It is most useful with mix-blend-mode: put isolation: isolate on a wrapper so children blend inside the group instead of with content behind it. It also matters for z-index ordering inside that context. It applies to all elements, is not inherited, and is not animatable.
Standard-track.
Not deprecated and not experimental. Widely available across modern browsers since 2020 (Baseline high since 2022).
Syntax
CSS Syntax
syntax.css
isolation:auto | isolate | initial | inherit;
Only two keywords matter in practice: auto and isolate.
Values
Property Values
Value
Description
Try it
auto
Default. Create a stacking context only if another property needs one
Shared blend. Both squares use the same mix-blend-mode.
One keyword each.auto vs isolate is the only difference that matters.
Read the colors. The isolated group usually looks different from the open backdrop blend.
Study tip. Keep backgrounds simple (one flat color) so the change is obvious.
Edge Cases & Pitfalls
If nothing seems to change, you may already have a stacking context from another property.
blend
Hard to see without blending
Alone, isolation does not move or resize boxes. Pair it with mix-blend-mode (or inspect stacking) to notice the difference.
other
Other properties also create contexts
opacity less than 1, transform, filter, and some z-index cases already create stacking contexts. isolate is the explicit switch.
z
z-index is scoped
Inside an isolated element, z-index values compete within that context first. Children cannot “escape” above siblings of the isolated ancestor as easily.
bg
Not the same as background-blend-mode
background-blend-mode blends layers of one element’s backgrounds. isolation + mix-blend-mode is about element compositing and stacking contexts.
auto
auto is not “never isolate”
If the element already needs a stacking context for another reason, you still get one under auto. Use isolate when you want that guarantee on purpose.
Compatibility
Browser Support
isolation is a browser layout / compositing property. Node.js, Deno, and Bun do not apply it.
✓ Baseline · Widely available since 2020
isolation
Chrome 41+, Firefox 36+, Safari 8+, Edge 79+. Internet Explorer has no support.
97%modern browsers
Google Chrome41+
Full support
Mozilla Firefox36+
Full support
Apple Safari8+
Full support
Microsoft Edge79+
Full support
Opera28+
Full support
Samsung Internet4.0+
Full support
Internet ExplorerNo support
None
isolationWidely supported
Bottom line: Safe for modern sites. Pair with mix-blend-mode when teaching or debugging stacking and blend containment.
Remember
Key Takeaways
Role: controls whether an element must create a stacking context.
Values:auto (default) or isolate (always).
Best with:mix-blend-mode to contain or allow backdrop blending.
Not layout: does not change size or flow—only stacking / compositing.
One line:isolation: isolate forces a stacking context so blends and z-index stay grouped; auto leaves that to other properties.
Frequently Asked Questions
isolation controls whether an element must create a new stacking context. isolate forces one; auto creates one only when another property requires it.
The initial value is auto. A stacking context appears only if something else on the element needs one.
Use isolate when you want to contain mix-blend-mode (or related blending) so children blend inside a group instead of with content behind the group.
With auto, a child's mix-blend-mode can blend with the backdrop outside the wrapper. With isolate on the wrapper, blending stays inside that stacking context.
No. It affects stacking and compositing, not width, height, or flow layout.
Chrome 41+, Firefox 36+, Safari 8+, and Edge 79+. Internet Explorer has no support. It is a browser layout property, not a Node.js feature.