Сокращенная запись animation
Итак, мы с вами рассмотрели восемь разных свойств для CSS-анимации. Если записать каждое из них в отдельной строке, да еще и не забыть про вендорные префиксы, то в общей сложности получится более 30 строк кода для одной анимации!
К счастью, как и в случае с transition, в CSS есть универсальное свойство animation, в котором можно указать сразу все параметры анимации в одной строке, разделяя их пробелом. Для наглядности ниже представлены варианты длинной и короткой записи всех свойств анимации (для экономии места мы не включали в наш пример префиксы производителей, но в реальной практике их понадобится добавить):
div {
animation-name: coolAnimation;
animation-duration: 3s;
animation-timing-function: ease-in;
animation-delay: 500ms;
animation-iteration-count: 6;
animation-direction: reverse;
animation-fill-mode: forwards;
animation-play-state: paused;
}
/* Стиль выше эквивалентен следующему: */
div {
animation: coolAnimation 3s ease-in 500ms 6 reverse forwards paused;
}
Конечно же, нет необходимости использовать каждое из восьми свойств анимации, ведь обязательными являются только два — animation-name и animation-duration. И если вам нужно добавить третий параметр (к примеру, animation-iteration-count), вы можете сделать следующую запись:
div {
animation: coolAnimation 3s 6;
}
Если нужно применить к элементу сразу несколько анимаций и задать им разные настройки, то каждую группу значений следует отделять запятой, а в конце поставить точку с запятой:
div {
animation: firstAnimation 300ms ease-in,
secondAnimation 1s linear alternate;
}
Далее в учебнике вас ждет большой практический урок по CSS-анимации, где мы потренируемся в трансформации элементов с помощью функций свойства transform, а также будем создавать как обычные CSS-переходы transition, так и более сложные вещи с использованием свойства animation.