Spec-Zone.ru › CSS

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-direction animation-iteration-count последняя встреченная ключевая кадровый анимация
normal чётное или нечётное 100% или to
reverse чётное или нечётное 0% или from
alternate чётное 0% или from
alternate нечётное 100% или to
alternate-reverse чётное 100% или to
alternate-reverse нечётное 0% или from

Анимированные свойства ведут себя так, как если бы они были включены в значение свойства will-change. Если во время анимации был создан новый контекст стекирования, целевой элемент сохраняет контекст стекирования после завершения анимации.

backwards

Анимация будет применять значения, определённые в первой соответствующей ключевой кадровой анимации, как только она будет применена к цели, и сохранит это значение в течение периода animation-delay. Первая соответствующая ключевая кадровый анимация зависит от значения animation-direction:

animation-direction первая соответствующая ключевая кадровый анимация
normal или alternate 0% или from
reverse или alternate-reverse 100% или to
both

Анимация будет следовать правилам как для «вперед», так и для «назад», тем самым расширяя свойства анимации в обоих направлениях.

Примечание: Когда вы указываете несколько значений, разделённых запятыми, для свойства animation-* , они применяются к анимациям в том порядке, в котором появляются animation-name. Для ситуаций, когда количество анимаций и значений свойства animation-* не совпадают, см. Установка нескольких значений свойства анимации.

Примечание: animation-fill-mode оказывает такое же влияние при создании анимаций CSS, управляемых прокруткой, как и для обычных анимаций по времени.

Формальное определение

Начальное значение none
Применяется к всем элементам, ::before и ::after псевдоэлементам
Наследуется нет
Вычисленное значение как указано
Тип анимации Не анимируется

Формальный синтаксис

animation-fill-mode = 
<single-animation-fill-mode>#

<single-animation-fill-mode> =
none |
forwards |
backwards |
both

Примеры

Установка режима заполнения

Вы можете увидеть эффект 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 AnimationEvent API
  • Другие связанные свойства анимации: 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API