animation-fill-mode
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.
Экспериментальная возможность: Это экспериментальная технология
Так как спецификация этой технологии ещё не стабилизировалась, смотрите таблицу совместимости по поводу использования в различных браузерах. Также заметьте, что синтаксис и поведение экспериментальной технологии может измениться в будущих версиях браузеров, вслед за изменениями спецификации.
Описание
CSS свойство animation-fill-mode
определяет, как нужно применять стили к объекту анимации до и после её выполнения.
Начальное значение | none |
---|---|
Применяется к | все элементы, ::before и ::after псевдоэлементы |
Наследуется | нет |
Обработка значения | как указано |
Animation type | Not animatable |
Синтаксис
/* Ключевые слова */
animation-fill-mode: none;
animation-fill-mode: forwards;
animation-fill-mode: backwards;
animation-fill-mode: both;
/* Несколько значений могут быть заданы через запятую. */
/* Каждое значение соответствует для анимации в animation-name. */
animation-fill-mode: none, backwards;
animation-fill-mode: both, forwards, none;
Значения
none
-
Стили анимации не будут применены к элементу до и после её выполнения.
forwards
-
По окончании анимации элемент сохранит стили последнего ключевого кадра, который определяется значениями
animation-direction
иanimation-iteration-count
:animation-direction
animation-iteration-count
последний ключевой кадр normal
любое 100%
илиto
reverse
любое 0%
илиfrom
alternate
чётное 0%
илиfrom
alternate
нечётное 100%
илиto
alternate-reverse
чётное 100%
илиto
alternate-reverse
нечётное 0%
илиfrom
backwards
-
Элемент сохранит стиль первого ключевого кадра на протяжении периода
animation-delay
. Первый ключевой кадр определяется значениемanimation-direction
:animation-direction
первый ключевой кадр normal
илиalternate
0%
илиfrom
reverse
илиalternate-reverse
100%
илиto
both
-
Анимация будет вести себя так, как будто значения forwards и backwards заданы одновременно.
Формальный синтаксис
Пример
Вы можете посмотреть эффект animation-fill-mode в следующем примере. По умолчанию, по окончании анимации стиль элемента возвращается к исходному. Значение forwards сохранит для элемента стиль последнего ключевого кадра.
HTML
<p>Наведите курсор мыши на серый блок</p>
<div class="demo">
<div class="grows">Этот просто растёт</div>
<div class="growsandstays">Этот растёт и остаётся большим</div>
</div>
CSS
.demo {
border-top: 100px solid #ccc;
height: 300px;
font-family: sans-serif;
}
@keyframes grow {
0% {
font-size: 0;
}
100% {
font-size: 40px;
}
}
@-webkit-keyframes grow {
0% {
font-size: 0;
}
100% {
font-size: 40px;
}
}
.demo:hover .grows {
animation-name: grow;
animation-duration: 3s;
-webkit-animation-name: grow;
-webkit-animation-duration: 3s;
}
.demo:hover .growsandstays {
animation-name: grow;
animation-duration: 3s;
animation-fill-mode: forwards;
-webkit-animation-name: grow;
-webkit-animation-duration: 3s;
-webkit-animation-fill-mode: forwards;
}
Спецификации
Specification |
---|
CSS Animations Level 1 # animation-fill-mode |
Совместимость с браузерами
BCD tables only load in the browser