This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2022.
The composite property of a KeyframeEffect resolves how an element's animation impacts its underlying property values.
To understand these values, take the example of a keyframeEffect value of blur(2) working on an underlying property value of blur(3).
replaceThe keyframeEffect overrides the underlying value it is combined with: blur(2) replaces blur(3).
addThe keyframeEffect is added to the underlying value with which it is combined (aka additive): blur(2) blur(3).
accumulateThe keyframeEffect is accumulated on to the underlying value: blur(5).
| Specification |
|---|
| Web Animations> # dom-keyframeeffect-composite> |
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
composite |
84 | 84 | 80 | 71 | 16 | 84 | 80 | 60 | 16 | 14.0 | 84 | 16 |
KeyframeEffect objects
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/KeyframeEffect/composite