WDD 231: Desenvolvimento Frontend para Web I

S04 - Atividades de Aprendizagem: Animações e Transições em CSS

Visão Geral

A propriedade animation em CSS permite que os desenvolvedores implementem animações sem a necessidade de usar JavaScript. Essas animações têm boa performance e funcionam bem para produzir transições suaves entre estados de estilo CSS pré-definidos, dentro de um tempo determinado.

A propriedade transition em CSS permite a interpolação suave de mudanças de estilo ao longo de um período determinado. Ao definir quais propriedades devem passar pela transição e o momento da transição, os desenvolvedores podem melhorar a experiência do usuário por meio de efeitos sutis e atrativos, acionados por mudanças no estado de um elemento.

Preparação

A seguir, explicamos as propriedades básicas do CSS para implementar efeitos visuais em páginas da web.

Keyframes

A regra @keyframes em CSS define as etapas de uma animação, especificando como os estilos de um elemento devem mudar ao longo do tempo.

Use @keyframes para criar uma animação, nomeando-a e definindo o que deve acontecer em diferentes pontos (chamados keyframes) durante a linha do tempo da animação, como em 0%, 50% ou 100%.

O exemplo abaixo mostra uma animação para um efeito de fade in:

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
} 

Já o exemplo abaixo gera um efeito de fade color, passando da cor vermelha para a amarela:

@keyframes fadeColor {
  from {
    background-color: red;
  }
  to {
    background-color: yellow;
  }
}

Uma vez definida, a nova animação de keyframes precisa ser referenciada em uma regra de animação para que funcione, conforme mostrado abaixo.

Animações

A animação pode ser definida diretamente por meio da propriedade abreviada animation ou especificando qualquer uma de suas subpropriedades diretamente:

🍂 🍁 🍃 🍁 🍂 🍃 🍂 🍁 🍃 🍁