animation-fill-mode
Baseline Широко доступно
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с сентября 2015 года.
Свойство animation-fill-mode CSS задаёт, как свойство CSS анимации применяет стили к своей цели до и после выполнения.
Попробовать
Часто удобно использовать сокращённое свойство animation для одновременной установки всех свойств анимации.
Синтаксис
/* Single animation */ animation-fill-mode: none; animation-fill-mode: forwards; animation-fill-mode: backwards; animation-fill-mode: both; /* Multiple animations */ animation-fill-mode: none, backwards; animation-fill-mode: both, forwards, none; /* Global values */ animation-fill-mode: inherit; animation-fill-mode: initial; animation-fill-mode: revert; animation-fill-mode: revert-layer; animation-fill-mode: unset;
Значения
none-
Анимация не будет применять стили к целевому элементу, когда она не выполняется. Вместо этого элемент будет отображаться с использованием любых других правил CSS, применённых к нему. Это значение по умолчанию.
forwards-
Цель будет сохранять вычисленные значения, установленные последней ключевой кадровой анимацией, встреченной во время выполнения. Последняя ключевая кадровый анимация зависит от значения
animation-directionиanimation-iteration-count:animation-directionanimation-iteration-countпоследняя встреченная ключевая кадровый анимация normalчётное или нечётное 100%илиtoreverseчётное или нечётное 0%илиfromalternateчётное 0%илиfromalternateнечётное 100%илиtoalternate-reverseчётное 100%илиtoalternate-reverseнечётное 0%илиfromАнимированные свойства ведут себя так, как если бы они были включены в значение свойства
will-change. Если во время анимации был создан новый контекст стекирования, целевой элемент сохраняет контекст стекирования после завершения анимации. backwards-
Анимация будет применять значения, определённые в первой соответствующей ключевой кадровой анимации, как только она будет применена к цели, и сохранит это значение в течение периода
animation-delay. Первая соответствующая ключевая кадровый анимация зависит от значенияanimation-direction:animation-directionпервая соответствующая ключевая кадровый анимация normalилиalternate0%илиfromreverseилиalternate-reverse100%илиto both-
Анимация будет следовать правилам как для «вперед», так и для «назад», тем самым расширяя свойства анимации в обоих направлениях.
Примечание: Когда вы указываете несколько значений, разделённых запятыми, для свойства animation-* , они применяются к анимациям в том порядке, в котором появляются animation-name. Для ситуаций, когда количество анимаций и значений свойства animation-* не совпадают, см. Установка нескольких значений свойства анимации.
Примечание: animation-fill-mode оказывает такое же влияние при создании анимаций CSS, управляемых прокруткой, как и для обычных анимаций по времени.
Формальное определение
| Начальное значение | none |
|---|---|
| Применяется к | всем элементам, ::before и ::after псевдоэлементам
|
| Наследуется | нет |
| Вычисленное значение | как указано |
| Тип анимации | Не анимируется |
Формальный синтаксис
Примеры
Установка режима заполнения
Вы можете увидеть эффект animation-fill-mode в следующем примере. Он демонстрирует, как можно заставить анимацию оставаться в конечном состоянии, а не возвращаться в исходное состояние (что является значением по умолчанию).
HTML
<p>Move your mouse over the gray box!</p> <div class="demo"> <div class="grows-and-stays">This grows and stays big.</div> <div class="grows">This just grows.</div> </div>
CSS
.demo {
border-top: 100px solid #ccc;
height: 300px;
}
@keyframes grow {
0% {
font-size: 0;
}
100% {
font-size: 40px;
}
}
.demo:hover .grows {
animation-name: grow;
animation-duration: 3s;
}
.demo:hover .grows-and-stays {
animation-name: grow;
animation-duration: 3s;
animation-fill-mode: forwards;
}
Результат
См. CSS-анимации для получения дополнительных примеров.
Спецификации
| Спецификация |
|---|
| CSS Animations Level 1 # animation-fill-mode |
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
animation-fill-mode |
433 | 1212 | 16495 | 301512.1–1512–15 | 95 | 4318 | 16495 | 301412.1–1412–14 | 94 | 4.01.0 | 434.4 |
backwards |
3 | 12 | 5 | 15 | 5 | 18 | 5 | 14 | 4.2 | 1.0 | 4.4 |
both |
3 | 12 | 5 | 15 | 5 | 18 | 5 | 14 | 4.2 | 1.0 | 4.4 |
forwards |
3 | 12 | 5 | 15 | 5 | 18 | 5 | 14 | 4.2 | 1.0 | 4.4 |
none |
3 | 12 | 5 | 15 | 5 | 18 | 5 | 14 | 4.2 | 1.0 | 4.4 |
См. также
- Использование CSS-анимаций
- JavaScript
AnimationEventAPI - Другие связанные свойства анимации:
animation,animation-composition,animation-delay,animation-direction,animation-duration,animation-iteration-count,animation-name,animation-play-state,animation-timeline,animation-timing-function
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/animation-fill-mode