У меня на клике воспроизводится анимация CSS3 из 4 частей, но последняя часть анимации предназначена для того, чтобы убрать ее с экрана.
Тем не менее, он всегда возвращается в исходное состояние после воспроизведения. Кто-нибудь знает, как я могу остановить его на последнем кадре CSS (100%) , или как избавиться от всего div, в котором он находится, после того, как он сыграл.
@keyframes colorchange {
0% { transform: scale(1.0) rotate(0deg); }
50% { transform: rotate(340deg) translate(-300px,0px) }
100% { transform: scale(0.5) rotate(5deg) translate(1140px,-137px); }
}
css
css-animations
user531192
источник
источник
Ответы:
Вы ищете:
Больше информации о MDN и список поддержки браузера на canIuse .
источник
-webkit-animation-fill-mode: forwards;
100% {}
илиto {}
сет, так что даже сanimation-fill-mode: forwards;
моей анимации бы еще бросить меня в0%
. (Я использовал некоторые циклы @for для создания своих анимаций и забыл вручную добавить afrom{}
иto{}
);Если вы хотите добавить это поведение в сокращенное
animation
определение свойства, порядок подчиненных свойств будет следующимanimation-name
- по умолчаниюnone
animation-duration
- по умолчанию0s
animation-timing-function
- по умолчаниюease
animation-delay
- по умолчанию0s
animation-iteration-count
- по умолчанию1
animation-direction
- по умолчаниюnormal
animation-fill-mode
- вам нужно установить этоforwards
animation-play-state
- по умолчаниюrunning
Поэтому в наиболее распространенном случае результат будет примерно таким
Смотрите документацию MDN здесь
источник
Поддержка браузера
Использование:-
источник
Лучший способ, кажется, поставить конечное состояние в основной части CSS. Как здесь, я положил ширину
220px
, чтобы она наконец стала220px
. Но начинает0px;
источник
Не ваша проблема, что вы устанавливаете webkitAnimationName обратно в ничто, так что это сбрасывает CSS для вашего объекта обратно в его состояние по умолчанию. Не останется ли он там, где он оказался, если вы просто удалите функцию setTimeout, которая сбрасывает состояние?
источник
Я только что опубликовал аналогичный ответ, и вы, вероятно, хотите взглянуть на:
http://www.w3.org/TR/css3-animations/#animation-events-
Вы можете узнать аспекты анимации, такие как запуск и остановка, а затем, однажды заявив, что произошло событие «остановка», вы можете делать все, что захотите, с домом. Я попробовал это некоторое время назад, и это может сработать, но я предполагаю, что вы пока будете ограничены веб-комплектом (но вы, вероятно, уже приняли это). Кстати, поскольку я разместил одну и ту же ссылку для 2 ответов, я бы предложил общий совет: посмотрите W3C - они в значительной степени пишут правила и описывают стандарты. Кроме того, страницы разработки webkit являются довольно ключевыми.
источник
Никто на самом деле не принес этого, способ, которым это было сделано для работы, является состоянием воспроизведения анимации, установленным в паузу.
источник
Сегодня я узнал, что есть предел, который вы хотите использовать для режима заполнения. Это от разработчика Apple. Слух * около * шести, но не уверен. Кроме того, вы можете установить начальное состояние вашего класса так, чтобы анимация заканчивалась, а затем * инициализировать * с / 0%.
источник