W mitologii egipskiej bóg Ra każdego dnia podróżował słoneczną barką przez niebo ze wschodu na zachód (
normal), a nocą wracał pod ziemią z zachodu na wschód (reverse). Cały cykl dnia i nocy to doskonały przykład naprzemiennego ruchu (alternate) - najpierw w jedną stronę, potem w drugą.Właściwość
animation-direction w CSS pozwala określić, w którym kierunku animacja ma się odbywać. Dzięki tej właściwości możemy tworzyć animacje, które poruszają się do przodu, do tyłu, lub naprzemiennie.Animacja przebiega od początku do końca (domyślnie).
1.animation-normal {
2 animation-direction: normal;
3}Animacja przebiega od końca do początku.
1.animation-reverse {
2 animation-direction: reverse;
3}Animacja przebiega naprzemiennie: od początku do końca, a następnie od końca do początku.
1.animation-alternate {
2 animation-direction: alternate;
3}Animacja przebiega naprzemiennie, ale zaczyna od końca do początku, a następnie od początku do końca.
1.animation-alternate-reverse {
2 animation-direction: alternate-reverse;
3}Chcemy, żeby element przesunął się, a następnie wrócił na swoje miejsce.
1@keyframes slide {
2 0%, 100% { left: 0; }
3 50% { left: 100px; }
4}
5
6.slide-forward-backward {
7 position: absolute;
8 animation: slide 2s ease-in-out;
9 animation-iteration-count: 2; /* Dwa cykle */
10 animation-direction: alternate; /* Naprzemienny kierunek */
11}W tym przypadku, element najpierw przesunie się o 100 pikseli w prawo, a następnie wróci na swoje miejsce. Dzięki
animation-direction: alternate, kierunek animacji zmienia się z każdym cyklem.Aby przetestować tę animację, stwórz plik HTML i dodaj element z przypisaną klasą:
1<!DOCTYPE html>
2<html lang="en">
3<head>
4 <meta charset="UTF-8">
5 <meta name="viewport" content="width=device-width, initial-scale=1.0">
6 <title>Animacje CSS</title>
7 <style>
8 @keyframes slide {
9 0%, 100% { left: 0; }
10 50% { left: 100px; }
11 }
12
13 .slide-forward-backward {
14 position: relative;
15 animation: slide 2s ease-in-out;
16 animation-iteration-count: 2;
17 animation-direction: alternate;
18 width: 50px;
19 height: 50px;
20 background-color: lightcoral;
21 margin: 20px;
22 }
23 </style>
24</head>
25<body>
26 <div class="slide-forward-backward">Slide</div>
27</body>
28</html>Twoim zadaniem jest stworzenie animacji dla trzech różnych elementów. Każdy element powinien wykorzystywać inną wartość
animation-direction:@keyframes dla animacji przesuwającej elementy w poziomie.animation-direction do każdego z elementów.1<!DOCTYPE html>
2<html lang="en">
3<head>
4 <meta charset="UTF-8">
5 <meta name="viewport" content="width=device-width, initial-scale=1.0">
6 <title>Animacje CSS</title>
7 <style>
8 @keyframes slide {
9 0%, 100% { left: 0; }
10 50% { left: 100px; }
11 }
12
13 .animation-container {
14 position: relative;
15 width: 100px;
16 height: 50px;
17 margin: 20px;
18 background-color: lightblue;
19 }
20
21 .normal-animation {
22 animation: slide 2s linear infinite;
23 animation-direction: normal;
24 }
25
26 .reverse-animation {
27 animation: slide 2s linear infinite;
28 animation-direction: reverse;
29 }
30
31 .alternate-animation {
32 animation: slide 2s linear infinite;
33 animation-direction: alternate;
34 }
35 </style>
36</head>
37<body>
38 <div class="animation-container normal-animation">Normal</div>
39 <div class="animation-container reverse-animation">Reverse</div>
40 <div class="animation-container alternate-animation">Alternate</div>
41</body>
42</html>Dzięki właściwości
animation-direction, masz pełną kontrolę nad kierunkiem animacji, co pozwala na tworzenie bardziej zaawansowanych i interesujących efektów wizualnych na stronach internetowych.Pamiętaj:
animation-direction to jak rozkaz faraona dla słonecznej barki - możesz nakazać jej płynąć do przodu, do tyłu, lub naprzemiennie, tworząc pełny cykl ruchu!Wypróbuj różne kierunki animacji w edytorze poniżej: