CSS3
February 15, 2021
⑧ Направление анимации: свойство animation-direction
Продолжим изучение темы CSS3 - анимация. Если пропустили прошлые статьи, то вот ссылки на них:
- ① Введение в CSS3-анимацию
- ② Ключевые кадры
- ③ Временная функция для ключевых кадров
- ④ Название анимации: свойство animation-name
- ⑤ Продолжительность анимации: свойство animation-duration
- ⑥ Временная функция: свойство animation-timing-function
- ⑦ Повтор анимации: свойство animation-iteration-count
Свойство animation-direction определяет, должна ли анимация воспроизводиться в обратном порядке в некоторых или во всех циклах. Когда анимация воспроизводится в обратном порядке, временные функции также меняются местами. Например, при воспроизведении в обратном порядке функция ease-in будет вести себя как ease-out.
Свойство не наследуется.
animation-direction
Значения:
normal- Все повторы анимации воспроизводятся так, как указано. Значение по умолчанию.reverse- Все повторы анимации воспроизводятся в обратном направлении от того, как они были определены.alternate- Каждый нечетный повтор цикла анимации воспроизводятся в нормальном направлении, каждый четный повтор воспроизводится в обратном направлении.alternate-reverse- Каждый нечетный повтор цикла анимации воспроизводятся в обратном направлении, каждый четный повтор воспроизводится в нормальном направлении.initial- Устанавливает значение свойства в значение по умолчанию.inherit- Наследует значение свойства от родительского элемента.
Чтобы определить, является ли повтор цикла анимации четной или нечетной — количество повторов начинается с 1.
Синтаксис
CSS
animation-direction: normal; animation-direction: reverse; animation-direction: alternate; animation-direction: alternate-reverse; animation-direction: normal, reverse; animation-direction: alternate, reverse, normal; animation-direction: initial; animation-direction: inherit;
HTML
<div class="container"> <kbd>animation-direction: alternate;</kbd> <ul class="alternate"> <li></li> <li></li> <li></li> <li></li> <li></li> </ul> <kbd>animation-direction: alternate-reverse;</kbd> <ul class="alternate-reverse"> <li></li> <li></li> <li></li> <li></li> <li></li> </ul> <kbd>animation-direction: normal;</kbd> <ul class="normal"> <li></li> <li></li> <li></li> <li></li> <li></li> </ul> <kbd>animation-direction: reverse;</kbd> <ul class="reverse"> <li></li> <li></li> <li></li> <li></li> <li></li> </ul> </div>
CSS
body {
margin: 0;
text-align: center;
background: url(https://html5book.ru/wp-content/uploads/2015/05/background1.png);
}
.container {
width: 660px;
margin: 50px auto;
}
ul {
padding: 0;
list-style: none;
margin-bottom: 40px;
}
li {
display: inline-block;
width: 30px;
height: 30px;
border-radius: 50%;
margin-right: 10px;
box-shadow: 1px 1px 2px rgba(0,0,0,.3);
}
li:nth-child(1) {background:#8A6C5E}
li:nth-child(2) {background:#BBDADE}
li:nth-child(3) {background:#F6D5A1}
li:nth-child(4) {background:#FAC0B0}
li:nth-child(5) {background:#FF615B}
.alternate li {
-webkit-animation: shake .7s linear alternate infinite;
animation: shake .7s linear alternate infinite;
}
.alternate-reverse li {
-webkit-animation: shake 0.7s linear alternate-reverse infinite;
animation: shake 0.7s linear alternate-reverse infinite;
}
.normal li {
-webkit-animation: shake 0.7s linear normal infinite;
animation: shake 0.7s linear normal infinite;
}
.reverse li {
-webkit-animation: shake 0.7s linear reverse infinite;
animation: shake 0.7s linear reverse infinite;
}
@-webkit-keyframes shake {
100% {
-webkit-transform: translateX(-30px);
}
}
@keyframes shake {
100% {
transform: translateX(-30px);
}
}Продолжение в следующей статье!