CSS - animation-direction
animation-direction
The animation-direction property controls the animation direction and can set it to the reverse, alternate or alternate-reverse. You can see it in action with the demo's below.
Property Variable Name
animation-direction
    Available Values for animation-direction
normal|reverse|alternate|alternate-reverse|initial|inherit
    
  Examples Using animation-direction values
Example using animation-direction normal
Example using animation-direction normal
Here is an example using different animation-direction values
Demo Box 1 Content 1
Code
<style>
.demo-box-1 {
  position:relative;
  border-radius:3px;
  margin-bottom:10px;
  border:1px solid #000;
  height:220px;
  width:100%;
  transition: all 0.3s;
}
.demo-box-1 .dbs-1 {
  transition: all 0.3s;
  position:absolute;
  display:block;
  padding:10px;
  background:#3b7aa0;
  color:#FFF;
  margin:0 1%;
  height:100px;
  width:100px;
  left:10px;
  top:10px;
}
.dbs-1 {
  transition: all 0.3s;
  position:absolute;
  animation: my-animation-1 5s infinite;
  /*
  animation-name: my-animation-1;
  animation-duration: 5s;
  animation-timing-function: 5s;
  animation-iteration-count: infinite;
  animation-direction: normal;
  animation-fill-mode: none;
  animation-play-state: running;
  animation-delay:1s;
  */
  animation-direction:normal;
}
</style>
<style>
@keyframes my-animation-1 {
  0% { 
    left:0px;
    top:0px;
  }
  25% { 
    left:400px;
    top:0px;
  }
  50% { 
    left:400px;
    top:100px;
  }
  75% { 
    left:0px;
    top:100px;
  }
  100% { 
    left:0px;
    top:0px;
  }
}
</style>
<h2>Example using animation-direction normal</h2>
<p>Here is an example using different animation-direction values</p>
<div class='demo-box-1'>
  <div class='dbs-1'>Demo Box 1 Content 1</div>
</div>
        Example using animation-direction reverse
Example using animation-direction reverse
Here is an example using different animation-direction values
Demo Box 2 Content 1
Code
<style>
.demo-box-2 {
  position:relative;
  border-radius:3px;
  margin-bottom:10px;
  border:1px solid #000;
  height:220px;
  width:100%;
  transition: all 0.3s;
}
.demo-box-2 .dbs-2 {
  transition: all 0.3s;
  position:absolute;
  display:block;
  padding:10px;
  background:#3b7aa0;
  color:#FFF;
  margin:0 1%;
  height:100px;
  width:100px;
  left:10px;
  top:10px;
}
.dbs-2 {
  transition: all 0.3s;
  position:absolute;
  animation: my-animation-2 5s infinite;
  /*
  animation-name: my-animation-2;
  animation-duration: 5s;
  animation-timing-function: 5s;
  animation-iteration-count: infinite;
  animation-direction: normal;
  animation-fill-mode: none;
  animation-play-state: running;
  animation-delay:1s;
  */
  animation-direction:reverse;
}
</style>
<style>
@keyframes my-animation-2 {
  0% { 
    left:0px;
    top:0px;
  }
  25% { 
    left:400px;
    top:0px;
  }
  50% { 
    left:400px;
    top:100px;
  }
  75% { 
    left:0px;
    top:100px;
  }
  100% { 
    left:0px;
    top:0px;
  }
}
</style>
<h2>Example using animation-direction reverse</h2>
<p>Here is an example using different animation-direction values</p>
<div class='demo-box-2'>
  <div class='dbs-2'>Demo Box 2 Content 1</div>
</div>
        Example using animation-direction alternate
Example using animation-direction alternate
Here is an example using different animation-direction values
Demo Box 3 Content 1
Code
<style>
.demo-box-3 {
  position:relative;
  border-radius:3px;
  margin-bottom:10px;
  border:1px solid #000;
  height:220px;
  width:100%;
  transition: all 0.3s;
}
.demo-box-3 .dbs-3 {
  transition: all 0.3s;
  position:absolute;
  display:block;
  padding:10px;
  background:#3b7aa0;
  color:#FFF;
  margin:0 1%;
  height:100px;
  width:100px;
  left:10px;
  top:10px;
}
.dbs-3 {
  transition: all 0.3s;
  position:absolute;
  animation: my-animation-3 5s infinite;
  /*
  animation-name: my-animation-3;
  animation-duration: 5s;
  animation-timing-function: 5s;
  animation-iteration-count: infinite;
  animation-direction: normal;
  animation-fill-mode: none;
  animation-play-state: running;
  animation-delay:1s;
  */
  animation-direction:alternate;
}
</style>
<style>
@keyframes my-animation-3 {
  0% { 
    left:0px;
    top:0px;
  }
  25% { 
    left:400px;
    top:0px;
  }
  50% { 
    left:400px;
    top:100px;
  }
  75% { 
    left:0px;
    top:100px;
  }
  100% { 
    left:0px;
    top:0px;
  }
}
</style>
<h2>Example using animation-direction alternate</h2>
<p>Here is an example using different animation-direction values</p>
<div class='demo-box-3'>
  <div class='dbs-3'>Demo Box 3 Content 1</div>
</div>
        Example using animation-direction alternate-reverse
Example using animation-direction alternate-reverse
Here is an example using different animation-direction values
Demo Box 4 Content 1
Code
<style>
.demo-box-4 {
  position:relative;
  border-radius:3px;
  margin-bottom:10px;
  border:1px solid #000;
  height:220px;
  width:100%;
  transition: all 0.3s;
}
.demo-box-4 .dbs-4 {
  transition: all 0.3s;
  position:absolute;
  display:block;
  padding:10px;
  background:#3b7aa0;
  color:#FFF;
  margin:0 1%;
  height:100px;
  width:100px;
  left:10px;
  top:10px;
}
.dbs-4 {
  transition: all 0.3s;
  position:absolute;
  animation: my-animation-4 5s infinite;
  /*
  animation-name: my-animation-4;
  animation-duration: 5s;
  animation-timing-function: 5s;
  animation-iteration-count: infinite;
  animation-direction: normal;
  animation-fill-mode: none;
  animation-play-state: running;
  animation-delay:1s;
  */
  animation-direction:alternate-reverse;
}
</style>
<style>
@keyframes my-animation-4 {
  0% { 
    left:0px;
    top:0px;
  }
  25% { 
    left:400px;
    top:0px;
  }
  50% { 
    left:400px;
    top:100px;
  }
  75% { 
    left:0px;
    top:100px;
  }
  100% { 
    left:0px;
    top:0px;
  }
}
</style>
<h2>Example using animation-direction alternate-reverse</h2>
<p>Here is an example using different animation-direction values</p>
<div class='demo-box-4'>
  <div class='dbs-4'>Demo Box 4 Content 1</div>
</div>
        Example using animation-direction initial
Example using animation-direction initial
Here is an example using different animation-direction values
Demo Box 5 Content 1
Code
<style>
.demo-box-5 {
  position:relative;
  border-radius:3px;
  margin-bottom:10px;
  border:1px solid #000;
  height:220px;
  width:100%;
  transition: all 0.3s;
}
.demo-box-5 .dbs-5 {
  transition: all 0.3s;
  position:absolute;
  display:block;
  padding:10px;
  background:#3b7aa0;
  color:#FFF;
  margin:0 1%;
  height:100px;
  width:100px;
  left:10px;
  top:10px;
}
.dbs-5 {
  transition: all 0.3s;
  position:absolute;
  animation: my-animation-5 5s infinite;
  /*
  animation-name: my-animation-5;
  animation-duration: 5s;
  animation-timing-function: 5s;
  animation-iteration-count: infinite;
  animation-direction: normal;
  animation-fill-mode: none;
  animation-play-state: running;
  animation-delay:1s;
  */
  animation-direction:initial;
}
</style>
<style>
@keyframes my-animation-5 {
  0% { 
    left:0px;
    top:0px;
  }
  25% { 
    left:400px;
    top:0px;
  }
  50% { 
    left:400px;
    top:100px;
  }
  75% { 
    left:0px;
    top:100px;
  }
  100% { 
    left:0px;
    top:0px;
  }
}
</style>
<h2>Example using animation-direction initial</h2>
<p>Here is an example using different animation-direction values</p>
<div class='demo-box-5'>
  <div class='dbs-5'>Demo Box 5 Content 1</div>
</div>
        Example using animation-direction inherit
Example using animation-direction inherit
Here is an example using different animation-direction values
Demo Box 6 Content 1
Code
<style>
.demo-box-6 {
  position:relative;
  border-radius:3px;
  margin-bottom:10px;
  border:1px solid #000;
  height:220px;
  width:100%;
  transition: all 0.3s;
}
.demo-box-6 .dbs-6 {
  transition: all 0.3s;
  position:absolute;
  display:block;
  padding:10px;
  background:#3b7aa0;
  color:#FFF;
  margin:0 1%;
  height:100px;
  width:100px;
  left:10px;
  top:10px;
}
.dbs-6 {
  transition: all 0.3s;
  position:absolute;
  animation: my-animation-6 5s infinite;
  /*
  animation-name: my-animation-6;
  animation-duration: 5s;
  animation-timing-function: 5s;
  animation-iteration-count: infinite;
  animation-direction: normal;
  animation-fill-mode: none;
  animation-play-state: running;
  animation-delay:1s;
  */
  animation-direction:inherit;
}
</style>
<style>
@keyframes my-animation-6 {
  0% { 
    left:0px;
    top:0px;
  }
  25% { 
    left:400px;
    top:0px;
  }
  50% { 
    left:400px;
    top:100px;
  }
  75% { 
    left:0px;
    top:100px;
  }
  100% { 
    left:0px;
    top:0px;
  }
}
</style>
<h2>Example using animation-direction inherit</h2>
<p>Here is an example using different animation-direction values</p>
<div class='demo-box-6'>
  <div class='dbs-6'>Demo Box 6 Content 1</div>
</div>