The mix-blend-mode property sets how an element’s content blends with its backdrop — whatever is painted behind it in the same stacking context.
It is not inherited. The initial value is normal. It creates a stacking context. To blend only an element’s own background layers, use background-blend-mode instead.
Standard-track.
Not deprecated and Baseline Widely available. Common modes like multiply and difference are safe. plus-darker is Safari-only. Prefer plus-lighter only when you need that cross-fade compositing behavior.
Build a colorful backdrop. The gradient gives difference something to invert against.
Color the text. White is a common starting point for this effect.
Apply difference.mix-blend-mode: difference subtracts colors for a high-contrast result.
Text stays readable. As the gradient changes, the blended text flips with it.
Edge Cases & Pitfalls
If nothing seems to blend, check the backdrop and stacking context first.
backdrop
No backdrop, no visible blend
Modes need content behind the element. A plain white page often looks like normal.
vs
Not the same as background-blend-mode
background-blend-mode only mixes that element’s own backgrounds. mix-blend-mode mixes the whole element with what is behind it.
isolate
isolation can cut off the blend
A parent with isolation: isolate creates a group. Children then blend inside that group, not through to the page behind it.
stack
It creates a stacking context
Any non-normal value creates a stacking context, which can change how z-index and overlapping layers behave.
a11y
Check contrast after blending
Blended text can fail contrast checks on some backgrounds. Test readability, not just the visual effect.
Compatibility
Browser Support
mix-blend-mode is a browser visual property. Node.js, Deno, and Bun do not apply it.
✓ Baseline · Widely available since 2020
mix-blend-mode
Chrome 41+, Firefox 32+, Safari 8+, Edge 79+, Opera 29+, Samsung Internet 5+. Common blend modes are widely supported. plus-darker is Safari-only; plus-lighter needs newer browsers.
97%Common modes
Google Chrome41+
Full support
Mozilla Firefox32+
Full support
Apple Safari8+ · some quirks
Partial
Microsoft Edge79+
Full support
Opera29+
Full support
Samsung Internet5.0+
Full support
Internet ExplorerNo support
Not supported
mix-blend-modeWidely supported
Bottom line: Safe for modern sites with common modes. Skip Internet Explorer. Avoid plus-darker unless you only target Safari. Prefer plus-lighter only when cross-fade compositing needs it.
Remember
Key Takeaways
Role: blend an element’s content with the backdrop behind it.
Initial value:normal. Not inherited. Creates a stacking context.
Tip: use background-blend-mode when you only want backgrounds to blend with each other.
One line:mix-blend-mode paints the element into whatever sits behind it — after you give it a backdrop.
Frequently Asked Questions
It sets how an element's content blends with its backdrop — the content rendered behind it in the same stacking context. Text, images, and backgrounds on that element all take part in the blend.
The initial value is normal. The element draws without blending into the backdrop.
mix-blend-mode blends the whole element with content behind it. background-blend-mode only blends that element's own background layers with each other.
You need visible content behind the element in the same stacking context. A parent with isolation: isolate, or a new stacking context that cuts off the backdrop, can stop the blend you expect.
No. Set it on the element that should blend. It also creates a stacking context.
It is Baseline and widely available: Chrome 41+, Firefox 32+, Safari 8+, Edge 79+, Opera 29+. Internet Explorer does not support it. plus-darker is Safari-only. It is a browser visual property, not a Node.js feature.