Comando @keyframes
O comando @keyframes define os quadros-chave
de uma animação. Um quadro-chave representa
várias propriedades do nosso elemento CSS, por exemplo, posição,
tamanho, cor etc., que são aplicadas ao elemento em
um momento específico no tempo.
Sintaxe
@keyframes nome-da-animação {
quadros-chave
}
Exemplo
Definindo os quadros-chave:
<div id="elem"></div>
@keyframes anim {
from {
margin-left: 0px;
}
to {
margin-left: 400px;
}
}
#elem {
animation: anim 3s infinite;
border: 1px solid black;
width: 50px;
height: 50px;
}
:
Exemplo
Agora vamos mover nosso quadrado de cima para baixo usando animação:
<div id="elem"></div>
@keyframes anim {
from {
margin-top: 0%;
}
to {
margin-top: 10%;
}
}
#elem {
animation: anim 2s infinite;
border: 1px solid black;
width: 50px;
height: 50px;
}
:
Exemplo
Vamos aumentar a largura da nossa forma usando animação, definindo os pontos-chave em porcentagem:
<div id="elem"></div>
@keyframes anim {
from {
width: 10%;
}
to {
width: 40%;
}
}
#elem {
animation: anim 2s infinite;
border: 1px solid black;
width: 50px;
height: 50px;
}
:
Exemplo
Agora vamos mudar a opacidade da nossa forma:
<div id="elem"></div>
@keyframes anim {
from {
background-color: #467CBC;
}
to {
background-color: #C2DDFD;
}
}
#elem {
animation: anim 2s infinite;
border: 1px solid black;
width: 50px;
height: 50px;
}
:
Veja também
-
todas as propriedades para animação CSS
animation-name,animation-duration,animation-delay,animation-timing-function,animation-iteration-count,animation-direction,animation-fill-mode,animation-play-state,keyframes -
transition- transições suaves (animação ao passar o mouse sobre o elemento)