Својство animation-direction

Својство animation-direction задаје правац анимације. Подразумевано анимација ће се поновити само 1 пут и затим ће се вратити у почетно стање, затим, ако је задато кашњење animation-delay, чекаће задато време и затим циклус ће почети испочетка.

Ово својство омогућава да се промени ово понашање, на пример, тако да анимација након завршетка остане на месту где се завршила, а да не скочи назад у почетни положај.

Такође можете задати такво понашање: анимација ће стићи до крајње тачке и вратиће се назад (као код transition). Погледајте опис испод.

Синтакса

cssселектор {
  animation-direction: normal | reverse | alternate | alternate-reverse;
}

Вредности

Вредност Опис
reverse Анимација ће се репродуковати у обрнутом смеру.
alternate Анимација ће се прво репродуковати у правом смеру, а затим у обрнутом смеру (као transition).
alternate-reverse Анимација ће се репродуковати из крајњег положаја у почетни и обрнуто. У суштини то су вредности alternate и reverse у једном.
normal Анимација ће се репродуковати од почетка до краја, а након завршетка скоком ће прескочити у почетни положај.

Подразумевана вредност: normal.

Пример

Сада ће се елемент кретати у једном смеру, а затим враћати назад, пошто је задата вредност alternate. При том animation-duration има вредност 3 секунде и то значи да ће кретања "тамо" и "овде" трајати по 3 секунде:

html<div id="elem"></div>
css@keyframes move {
  from {
    margin-left: 0;
  }
  to {
    margin-left: 400px;
  }
}

#elem {
  animation-direction: alternate;
  animation-duration: 3s;
  animation-name: move;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
  border: 1px solid black;
  width: 50px;
  height: 50px;
}

Результат:

Пример

Сада ће се елемент кретати у обрнутом смеру (треба да иде с лева на десно, а ићи ће с десна на лево):

html<div id="elem"></div>
css@keyframes move {
  from {
    margin-left: 0;
  }
  to {
    margin-left: 400px;
  }
}
      
#elem {
  animation-direction: reverse;
  animation-duration: 3s;
  animation-name: move;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
  border: 1px solid black;
  width: 50px;
  height: 50px;
}

Результат:

Пример

Сада ће се елемент кретати тамо-амо, али у обрнутом смеру (треба да почне с леве стране, а почеће с десне):

html<div id="elem"></div>
css@keyframes move {
  from {
    margin-left: 0;
  }
  to {
    margin-left: 400px;
  }
}

#elem {
  animation-direction: alternate-reverse;
  animation-duration: 3s;
  animation-name: move;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
  border: 1px solid black;
  width: 50px;
  height: 50px;
}

Результат:

Види још

  • својство animation-name,
    које задаје име анимације
  • својство animation-duration,
    које задаје трајање анимације
  • својство animation-delay,
    које задаје кашњење пре извршења анимације
  • својство animation-timing-function,
    које задаје брзину извршења анимације
  • својство animation-iteration-count,
    које задаје број понављања анимације
  • својство animation-fill-mode,
    које задаје стање анимације
  • својство animation-play-state,
    које омогућава да се анимација паузира
  • својство animation,
    које представља скраћеницу за анимације
  • команду @keyframes,
    која задаје кључне кадрове анимације
  • глатки прелази transition, који представљају анимацију при прелазу преко елемента