Свойство анимации CSS остается после анимации
Я пытаюсь получить свойство анимации CSS, чтобы остаться после завершения, это возможно?
это то, что я пытаюсь добиться...
элемент должен быть скрыт, когда пользователь попадает на страницу, через 3 секунды (или что-то еще) он должен исчезнуть, и после завершения анимации он должен остаться там.
вот попытка скрипки... http://jsfiddle.net/GZx6F/
вот код для сохранение...
<h2>Test</h2>
<style>
@keyframes fadeIn {
0% {
opacity: 0;
}
100% {
opacity: 0.9;
}
}
h2 {
animation: fadeIn 1s ease-in-out 3s;
}
</style>
Я знаю, как это сделать с помощью jQuery.. это было бы так...
<h2>test</h2>
<script>
$(document).ready(function(){
$('h2').hide().delay(3000).fadeIn(3000)
});
</script>
4 ответа:
Я думаю, что вы ищете
animation-fill-mode
CSS3 свойствоhttps://developer.mozilla.org/en/CSS/animation-fill-mode
свойство CSS animation-fill-mode указывает, как анимация CSS должна применять стили к своей цели до и после ее выполнения.
для вашей цели просто попробуйте установить
h2 { animation: fadeIn 1s ease-in-out 3s; animation-fill-mode: forwards; }
задание вперед значение " цель сохранит вычисленные значения, установленные последний ключевой кадр, обнаруженный во время выполнения"
в дополнение к ответ на @Fabrizio Calderan, надо сказать, что вы даже можете применить
animation-fill-mode
свойстваforwards
наanimation
. Так что следующее также должно работать:@keyframes fadeIn { 0% { opacity: 0; } 100% { opacity: 0.9; } } h2 { opacity: 0; animation: fadeIn 1s ease-in-out 3s forwards; }
<script src="//cdnjs.cloudflare.com/ajax/libs/prefixfree/1.0.7/prefixfree.min.js"></script> <h2>Test</h2>
У меня было что-то подобное происходит со мной. Я добавил позицию: относительно элемента, который был анимацией и который исправил его для меня.
как анимировать элемент и получить его, чтобы остаться как анимация делается:
// Beggin
#box { /* Give it a width, a height and a background so can see it */ width: 200px; height: 200px; /* Unimportant styling */ box-shadow: 0 0 10px 0 rgba(0, 0, 0, .4) inset; border-radius: 7px; background: linear-gradient(to bottom, #fff 30%, #fcfcfc 40%, #f8f8f8 50%, #f0f0f0 100%); /* Starts here: */ opacity: 0; animation: yourName 2800ms ease-in-out 0s forwards; } @keyframes yourName { 0% /* (from) */ { opacity: 0; } 100% /* (to) */ { opacity: 1; } }
<div id="box"></div>