Eu tenho uma animação CSS3 de 4 partes sendo reproduzida com um clique - mas a última parte da animação serve para tirá-la da tela.
No entanto, ele sempre volta ao seu estado original após ser reproduzido. Alguém sabe como eu posso pará-lo em seu último quadro css (100%) , ou então como me livrar de todo o div em que ele está depois de jogar.
@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
fonte
fonte
Respostas:
Você está procurando:
Mais informações sobre a lista de suporte ao MDN e ao navegador no canIuse .
fonte
-webkit-animation-fill-mode: forwards;
100% {}
outo {}
conjunto, então mesmo com aanimation-fill-mode: forwards;
minha animação ainda me deixaria0%
. (Eu estava usando alguns laços @for para criar minhas animações e se esqueceu de adicionar manualmente umfrom{}
eto{}
);Se você deseja adicionar esse comportamento a uma
animation
definição de propriedade abreviada , a ordem das subpropriedades é a seguinteanimation-name
- padrãonone
animation-duration
- padrão0s
animation-timing-function
- padrãoease
animation-delay
- padrão0s
animation-iteration-count
- padrão1
animation-direction
- padrãonormal
animation-fill-mode
- você precisa definir isso paraforwards
animation-play-state
- padrãorunning
Portanto, no caso mais comum, o resultado será algo como isto
Consulte a documentação MDN aqui
fonte
Suporte do navegador
Uso:-
fonte
A melhor maneira parece colocar o estado final na parte principal do css. Como aqui, eu coloco largura em
220px
, para que finalmente se torne220px
. Mas começando a0px;
fonte
Não é seu problema que você está configurando o webkitAnimationName de volta para nada, então isso redefinirá o CSS do seu objeto para o estado padrão. Ele não permanecerá onde terminou se você remover a função setTimeout que está redefinindo o estado?
fonte
Acabei de publicar uma resposta semelhante e você provavelmente deseja dar uma olhada:
http://www.w3.org/TR/css3-animations/#animation-events-
Você pode descobrir aspectos de uma animação, como iniciar e parar, e depois dizer que o evento 'stop' foi acionado, você pode fazer o que quiser para o dom. Eu tentei isso há algum tempo, e pode funcionar, mas acho que você ficará restrito ao webkit por enquanto (mas você provavelmente já aceitou). Btw, como eu publiquei o mesmo link para 2 respostas, eu daria este conselho geral: confira o W3C - eles praticamente escrevem as regras e descrevem os padrões. Além disso, as páginas de desenvolvimento do webkit são bastante importantes.
fonte
Ninguém actualy trouxe-lo, a forma como foi feito para o trabalho é animação play-estado pronto para uma pausa.
fonte
Aprendi hoje que há um limite que você deseja usar para o modo de preenchimento. Isto é de um desenvolvedor da Apple. O boato é de cerca de seis, mas não é certo. Como alternativa, você pode definir o estado inicial da sua classe como deseja que a animação termine e, em seguida, * inicialize-a em / 0%.
fonte