As animações em CSS permitem criar efeitos visuais em elementos HTML, como transições de cor, movimentos suaves e transformações complexas. As animações podem ser criadas usando a propriedade animation
, que define o nome da animação, a duração, o tipo de animação e outras opções.
A sintaxe básica para a criação de uma animação em CSS é a seguinte:
css@keyframes nomeDaAnimacao {
from {
/* estado inicial do elemento */
}
to {
/* estado final do elemento */
}
}
/* Aplicação da animação ao elemento */
elemento {
animation-name: nomeDaAnimacao;
animation-duration: 3s; /* duração da animação */
animation-timing-function: ease; /* tipo de animação */
animation-delay: 1s; /* atraso antes da animação começar */
animation-iteration-count: infinite; /* número de repetições */
animation-direction: alternate; /* direção da animação */
}
O exemplo acima define uma animação chamada nomeDaAnimacao
, que altera o estado do elemento de from
para to
. A animação é aplicada ao elemento usando a propriedade animation-name
, que especifica o nome da animação. As outras propriedades controlam a duração, o tipo, o atraso e a direção da animação.
As animações também podem ser criadas usando pseudo-classes e pseudo-elementos, como :hover
e ::before
. Por exemplo, a seguinte animação cria um efeito de fade-in quando o mouse é colocado sobre um botão:
cssbutton:hover {
animation-name: fadein;
animation-duration: 0.5s;
}
@keyframes fadein {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
Neste exemplo, a animação é aplicada ao elemento button
usando a pseudo-classe :hover
. A animação fadein
define um estado inicial com opacity: 0
e um estado final com opacity: 1
, o que faz com que o botão desapareça e depois reapareça com uma animação suave.
As animações em CSS são uma ferramenta poderosa para criar efeitos visuais interessantes e interativos em elementos HTML. Combinadas com outras técnicas de CSS, como transformações, transições e pseudo-classes, elas podem criar experiências de usuário envolventes e atraentes.