Właściwość animation-direction
Właściwość animation-direction określa
kierunek animacji. Domyślnie animacja
powtórzy się tylko 1 raz, a następnie
wróci do stanu początkowego, potem,
jeśli ustawiono opóźnienie animation-delay,
będzie czekać przez określony czas, a następnie cykl rozpocznie się
od nowa.
Ta właściwość pozwala zmienić to zachowanie, na przykład tak, aby animacja po zakończeniu pozostała w miejscu, w którym się zakończyła, a nie przeskakiwała z powrotem do pozycji początkowej.
Można również ustawić takie zachowanie: animacja
dotrze do punktu krańcowego i wróci z powrotem
(tak jak w transition).
Zobacz opis poniżej.
Składnia
selektor {
animation-direction: normal | reverse | alternate | alternate-reverse;
}
Wartości
| Wartość | Opis |
|---|---|
reverse |
Animacja będzie odtwarzana w kierunku odwrotnym. |
alternate |
Animacja będzie odtwarzana najpierw w kierunku prostym, a potem w odwrotnym (jak transition). |
alternate-reverse |
Animacja będzie odtwarzana z pozycji końcowej
do początkowej i z powrotem. W zasadzie są to wartości
alternate i reverse w jednym.
|
normal |
Animacja będzie odtwarzana od początku do końca, a po zakończeniu skokiem wróci do pozycji początkowej. |
Wartość domyślna: normal.
Przykład
Teraz element będzie poruszał się w jedną stronę,
a potem wracał z powrotem, ponieważ ustawiono
wartość alternate. Przy czym animation-duration
ma wartość 3 sekund, co oznacza,
że przejścia "tam" i "z powrotem" będą
trwać po 3 sekundy:
<div id="elem"></div>
@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;
}
:
Przykład
Teraz element będzie poruszał się w odwrotnym kierunku (powinien od lewej do prawej, a będzie od prawej do lewej):
<div id="elem"></div>
@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;
}
:
Przykład
Teraz element będzie poruszał się tam i z powrotem, ale w odwrotnym kierunku (powinien zaczynać z lewej, a będzie zaczynał z prawej):
<div id="elem"></div>
@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;
}
:
Zobacz też
-
właściwość
animation-name,
która określa nazwę animacji -
właściwość
animation-duration,
która określa czas trwania animacji -
właściwość
animation-delay,
która określa opóźnienie przed wykonaniem animacji -
właściwość
animation-timing-function,
która określa prędkość wykonywania animacji -
właściwość
animation-iteration-count,
która określa liczbę iteracji animacji -
właściwość
animation-fill-mode,
która określa stan animacji -
właściwość
animation-play-state,
która pozwala wstrzymać animację -
właściwość
animation,
reprezentującą skrót dla animacji -
regułę
@keyframes,
określającą klatki kluczowe animacji -
płynne przejścia
transition, reprezentujące animację po najechaniu na element