Image Image Image Image Image Image Image Image Image Image

Блог Indigo | 15.11.2018

Наверх

Наверх

Свойство animation-fill-mode

Как уже говорилось в предыдущих уроках, после прохождения цикла анимация возвращается к своему исходному положению и стилю. Это поведение не всегда бывает уместным, поэтому в CSS для таких случаев имеется свойство animation-fill-mode. Оно определяет, какой стиль будет применен к анимированному элементу по окончанию анимации.

По правде говоря, выбор здесь небольшой – по окончанию анимации элемент может принять либо первоначальный стиль, либо остаться в том стиле, который он принял в конце цикла. Представим, что вы создали анимацию прямоугольного блока: он плавно увеличивается в течение анимации, и к ее концу становится в три раза больше первоначального размера. Когда анимация завершится, ваш блок вернется в исходное состояние, то есть уменьшится в три раза. Но вы можете сохранить размер увеличенного блока, воспользовавшись свойством animation-fill-mode. Оно принимает два значения:

  • forwards — по окончанию анимации элемент сохраняет стиль последнего ключевого кадра.
  • none — значение по умолчанию. Элемент возвращается к исходному стилю.

Итак, чтобы блок из вышеописанного примера остался увеличенным после завершения анимации, добавьте к его стилю следующую строку:

animation-fill-mode: forwards;

Стоит отметить, что на внешний вид последнего ключевого кадра влияют значения свойств animation-iteration-count и animation-direction. К примеру, если наряду с animation-fill-mode вы задали стиль animation-direction: reverse, то после завершения анимации элемент останется с тем стилем, который определен для первого, а не последнего ключевого кадра.


Далее в учебнике: свойство animation-play-state.