Уласцівасць 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, якія з'яўляюцца анімацыяй па навядзенні на элемент