CSS animation-direction Property

You are Here:

CSS animation-direction Property

CSS animation-direction property defines whether an animation should play forwards, backwards, or alternating back and forth.

Example

HTML Online Editor
<!DOCTYPE html> <html lang="en-US"> <head> <style> div{ width: 100px; height: 100px; border: 1px solid #000; line-height: 6; text-align: center; animation: myAnimation 1s infinite; -webkit-animation: myAnimation 1s infinite; /* Safari 4.0 - 8.0 */ animation-direction: alternate; -webkit-animation-direction: alternate; /* Safari 4.0 - 8.0 */ } @-webkit-keyframes myAnimation { from {border-radius: 0%;} to {border-radius: 50%;} } @keyframes myAnimation { from {border-radius: 0%;} to {border-radius: 50%;} } </style> </head> <body> <h1>CSS animation-direction Property</h1> <div> Div </div> </body> </html>

Syntax

Using CSS

element{ animation-direction: alternate; }

Using Javascript

object.style.animationDirection="alternate";

Animatable

No, animation-direction property is not animatable. CSS Animatable Properties Reference.

Default Value

Default value for CSS animation-direction property is normal.

Property Value

The following table provides a list of values for CSS animation-direction property.

ValueExplanation
normalSpecifies that the animation plays forwards each cycle.
reverseSpecifies that the animation plays backwards each cycle.
alternateSpecifies that the animation reverses direction each cycle, with the first iteration being played forwards.
alternate-reverseSpecifies that the animation reverses direction each cycle, with the first iteration being played backwards.

Using JavaScript

In the following example, we will demonstrate how to change the CSS animation-direction property of an element using JavaScript.

Example

HTML Online Editor
<!DOCTYPE html> <html lang="en-US"> <head> <style> div{ width: 100px; height: 100px; border: 1px solid #000; line-height: 6; text-align: center; margin-bottom: 20px; } @-webkit-keyframes myAnimation { from {border-radius: 0%;} to {border-radius: 50%;} } @keyframes myAnimation { from {border-radius: 0%;} to {border-radius: 50%;} } </style> </head> <body> <h1>CSS animation-direction Property</h1> <div> Div </div> <button onclick="myFunction()">Click Me</button> <script> var x = document.getElementsByTagName("div")[0]; function myFunction(){ x.style.animation = "myAnimation 1s infinite"; x.style.WebkitAnimation = "myAnimation 1s infinite"; x.style.animationDirection = "alternate"; x.style.WebkitAnimationDirection = "alternate"; } </script> </body> </html>

Reminder

Hi Developers, we almost covered 98.7% of CSS Tutorials with examples for quick and easy learning.

We are working to cover every Single Concept in CSS.

Please do google search for:

Join Our Channel

Join our telegram channel to get an instant update on depreciation and new features on HTML, CSS, JavaScript, jQuery, Node.js, PHP and Python.

This channel is primarily useful for Full Stack Web Developer.

Share this Page

Meet the Author