Aprenda Animações CSS: Domine @keyframes e Transições

Neste ponto do estudo de CSSO que é CSS?O que é CSS?Descubra como o CSS transforma a aparência das páginas web, separando conteúdo de design para melhor organização e flexibilidade., vamos abordar como criar animaçõesAnimações e Efeitos com JavaScript PuroAnimações e Efeitos com JavaScript PuroAprenda a criar animações e efeitos visuais usando JavaScript puro. Descubra técnicas que combinam performance e criatividade para interações web surpreendentes passo a passo utilizando @keyframes e animation-name. Se você já experimentou estilizar elementos estáticos, agora é a hora de dar “vida” a eles, criando movimentos suaves ou transiçõesTransições: transition-property, transition-duration, timing-functionTransições: transition-property, transition-duration, timing-functionTransforme sua interface com transições em CSS. Aprenda a aplicar transition-property, duration e timing-function para criar animações suaves e modernas. de cores que chamem a atenção do usuário.

O que são Keyframes?🔗

Keyframes são as “etapas” que definimos para a animação de um elemento ao longo do tempo. Em cada etapa, especificamos como o elemento deve se comportar (por exemplo, cor de fundoSeletores e Propriedades CSS EssenciaisSeletores e Propriedades CSS EssenciaisAprenda a dominar o CSS com nosso tutorial completo: entenda seletores, propriedades essenciais e técnicas para criar layouts modernos e atrativos., tamanho, opacidade), e o navegador se encarrega de interpolar as mudanças entre essas etapas.

O termo “keyframes” vem do universo das animaçõesAnimações e Efeitos com JavaScript PuroAnimações e Efeitos com JavaScript PuroAprenda a criar animações e efeitos visuais usando JavaScript puro. Descubra técnicas que combinam performance e criatividade para interações web surpreendentes tradicionais, em que desenhistas criavam quadros-chave (key frames) para mostrar as posições iniciais e finais (e intermediárias, se necessário) de um personagem ou objeto ao longo de uma cena.

Criando Keyframes com @keyframes🔗

A regra @keyframes é utilizada para definir as etapas (quadros-chave) da animaçãoAnimações e Efeitos com JavaScript PuroAnimações e Efeitos com JavaScript PuroAprenda a criar animações e efeitos visuais usando JavaScript puro. Descubra técnicas que combinam performance e criatividade para interações web surpreendentes. Sua estrutura básica é:

@keyframes nomeDaAnimacao {
  /* Definindo etapas */
  0% {
    /* Estilo inicial */
  }
  50% {
    /* Estilo intermediário (opcional) */
  }
  100% {
    /* Estilo final */
  }
}
@keyframes exemploSimples {
  from {
    /* Estilo inicial */
  }
  to {
    /* Estilo final */
  }
}

Associando a Animação ao Elemento: animation-name🔗

Depois de definir as etapas da animaçãoAnimações e Efeitos com JavaScript PuroAnimações e Efeitos com JavaScript PuroAprenda a criar animações e efeitos visuais usando JavaScript puro. Descubra técnicas que combinam performance e criatividade para interações web surpreendentes (@keyframes), precisamos aplicá-la em um elemento. Uma das principais propriedadesClasses e Herança em ES6+Classes e Herança em ES6+Aprenda a dominar classes e herança em ES6+: escreva códigos JavaScript claros e eficientes com métodos, getters e setters. para isso é animation-name:

.meuElemento {
  animation-name: nomeDaAnimacao; /* Deve ser o mesmo nome usado em @keyframes */
  animation-duration: 2s;         /* Exemplo de definição de duração */
}
Você pode explorar outras propriedades de animação (como animation-delay, animation-iteration-count, etc.) para ajustar o comportamento desejado, mas o foco aqui é mostrar como definir @keyframes e aplicar via animation-name.

Exemplo Prático: Animação de Cor🔗

Vamos criar uma animação simples que altera gradualmente a cor de fundoSeletores e Propriedades CSS EssenciaisSeletores e Propriedades CSS EssenciaisAprenda a dominar o CSS com nosso tutorial completo: entenda seletores, propriedades essenciais e técnicas para criar layouts modernos e atrativos. de um elemento:

/* 1. Definindo a animação */
@keyframes mudarCor {
  0% {
    background-color: #ff0000; /* vermelho */
  }
  50% {
    background-color: #ffff00; /* amarelo */
  }
  100% {
    background-color: #00ff00; /* verde */
  }
}
/* 2. Aplicando ao elemento */
.caixaColorida {
  width: 200px;
  height: 200px;
  animation-name: mudarCor;
  animation-duration: 3s;
}

Nesse exemplo:

1. Criamos a animaçãoAnimações e Efeitos com JavaScript PuroAnimações e Efeitos com JavaScript PuroAprenda a criar animações e efeitos visuais usando JavaScript puro. Descubra técnicas que combinam performance e criatividade para interações web surpreendentes mudarCor com três pontos de parada: 0%, 50% e 100%.

2. Aplicamos a animaçãoAnimações e Efeitos com JavaScript PuroAnimações e Efeitos com JavaScript PuroAprenda a criar animações e efeitos visuais usando JavaScript puro. Descubra técnicas que combinam performance e criatividade para interações web surpreendentes na classe .caixaColorida, definindo também animation-duration: 3s para que ela dure 3 segundos.

Tabela de Referência🔗

PropriedadeDescrição
@keyframesDefine os quadros-chave da animação.
animation-nameAponta para o nome definido no @keyframes.
animation-durationControla o tempo total da animação. (opcional)

Dicas e Boas Práticas🔗

Conclusão🔗

Utilizar @keyframes em conjunto com animation-name possibilita criar sequências de animação personalizadas, trazendo dinamismo ao layout. Com esse recurso, você tem controle total sobre como um elementoTags e Elementos: Sintaxe e HierarquiaTags e Elementos: Sintaxe e HierarquiaDescubra os fundamentos do HTML: aprenda sobre tags, elementos, hierarquia e boas práticas para criar páginas bem estruturadas e acessíveis. evolui ao longo do tempo, abrindo espaço para infinitas ideias criativas.

No próximo passo de estudo, você pode continuar explorando outras propriedadesClasses e Herança em ES6+Classes e Herança em ES6+Aprenda a dominar classes e herança em ES6+: escreva códigos JavaScript claros e eficientes com métodos, getters e setters. de animação para refinar ainda mais o estilo e o comportamento dos seus elementos animados. Abra caminho para a imaginação e dê vida aos seus projetos!

Autor: Marcelo V. Souza - Engenheiro de Sistemas e Entusiasta em IoT e Desenvolvimento de Software, com foco em inovação tecnológica.

Referências🔗

Compartilhar artigo

Artigos Relacionados