This is an experimental technology
Because this technology's specification has not stabilized, check the compatibility table for usage in various browsers. Also note that the syntax and behavior of an experimental technology is subject to change in future versions of browsers as the specification changes.
animation-direction CSS property indicates whether the animation should play in reverse on alternate cycles.
It is often convenient to use the shorthand property
animation to set all animation properties at once.
|Applies to||all elements, |
|Computed value||as specified|
|Canonical order||the unique non-ambiguous order defined by the formal grammar|
/* Single animation */ animation-direction: normal; animation-direction: reverse; animation-direction: alternate; animation-direction: alternate-reverse; /* Multiple animations */ animation-direction: normal, reverse; animation-direction: alternate, reverse, normal; /* Global values */ animation-direction: inherit; animation-direction: initial; animation-direction: unset;
- The animation should play forward each cycle. In other words, each time the animation cycles, the animation will reset to the beginning state and start over again. This is the default animation direction setting.
- The animation plays backward each cycle. Each time the animation cycles, the animation resets to the end state and starts over again.
- The animation should reverse direction each cycle. When playing in reverse, the animation steps are performed backward. In addition, timing functions are also reversed; for example, an
ease-inanimation is replaced with an
ease-outanimation when played in reverse. The count to determine if it is an even or an odd iteration starts at one.
- The animation plays backward on the first play-through, then forward on the next, then continues to alternate. The count to determinate if it is an even or an odd iteration starts at one.
See CSS animations for examples.
The definition of 'animation-direction' in that specification.
|Working Draft||Initial definition|
|Feature||Chrome||Edge||Firefox (Gecko)||Internet Explorer||Opera||Safari (WebKit)|
|Feature||Android||Android Webview||Edge||Firefox Mobile (Gecko)||IE Phone||Opera Mobile||Safari Mobile||Chrome for Android|
|Basic support||?||?||(Yes)||5.0 (5.0)-moz
||No support||?||?||16.0 (16.0)||?||?||No support||(Yes)-webkit|
 In addition to the unprefixed support, Gecko 44.0 (Firefox 44.0 / Thunderbird 44.0 / SeaMonkey 2.41) added support for a
-webkit prefixed version of the property for web compatibility reasons behind the preference
layout.css.prefixes.webkit, defaulting to
false. Since Gecko 49.0 (Firefox 49.0 / Thunderbird 49.0 / SeaMonkey 2.46) the preference defaults to