Domine Animações CSS: Guia Completo com DevTools!

Aprimorando Animações CSS com DevTools

Animações CSS bem implementadas podem transformar a experiência do usuário em um website. No entanto, criar essas animações, principalmente quando se busca controle preciso, pode ser desafiador. Imagine ter a capacidade de observar cada detalhe da sua animação em tempo real, etapa por etapa?

As ferramentas de desenvolvedor (DevTools) do Google Chrome e do Firefox oferecem essa possibilidade, permitindo inspecionar animações de forma detalhada. Este guia demonstrará como utilizar esse recurso para refinar suas animações e até mesmo estudar as animações de outros sites.

O Chrome DevTools é uma ferramenta poderosa para depurar diversos aspectos do seu CSS e muito mais. Começaremos com um exemplo simples para entender como inspecionar animações.

Definindo Animações com HTML e CSS

O código HTML abaixo cria uma página com dois elementos: uma <div> e um <button>. A página também importa um arquivo CSS chamado style.css:

<html lang="pt-BR">
  <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Animações CSS</title>
    <link rel="stylesheet" href="https://wilku.top/how-to-inspect-your-css-animations-with-chrome-devtools/style.css">
  </head>
  <body>
    <div id="box"></div>
    <button>Botão de Teste</button>
  </body>
</html>

Para estilizar esses elementos, crie um arquivo style.css na mesma pasta do HTML e insira o seguinte código:

#box {
  background: red;
  height: 400px;
  width: 400px;
  margin-bottom: 1rem;
  animation: rotateAndChangeColor 1000ms ease-in-out;
}
button {
  font-size: larger;
  background-color: white;
  border: 1px solid black;
  padding: 0.5em 1em;
  color: black;
  height: 80px;
  width: 300px;
  border-radius: 0.5em;
  transition: background-color 100ms ease-in-out, color 100ms ease-in-out;
  cursor: pointer;
}
button:hover {
  background-color: black;
  color: white;
}
@keyframes rotateAndChangeColor {
  0% {
    rotate: 0deg;
    background: red;
  }
  10% {
    background: green;
  }
  40% {
    background: blue;
  }
  70% {
    background: yellow;
  }
  100% {
    rotate: 360deg;
    background: red;
  }
}

Esses estilos criam dois componentes visuais:

  • Uma caixa que gira e muda de cor ao carregar a página.
  • Um botão que altera sua cor de fundo quando o mouse passa sobre ele.

Note que a animação da caixa vermelha utiliza a diretiva CSS @keyframe, enquanto o botão usa uma transição. Isso nos permitirá comparar as duas abordagens com o DevTools do navegador.

Inspecionando Animações com o DevTools

Para acessar a guia Animações no Chrome DevTools:

  1. Clique com o botão direito na página e selecione “Inspecionar”.
  2. No canto superior direito, clique nos três pontos.
  3. Selecione “Mais ferramentas” > “Animações”.

Isso abrirá a gaveta de animação na parte inferior da tela. Todas as animações que ocorrerem na página aparecerão ali. Ao atualizar a página e passar o mouse sobre o botão, as animações serão exibidas na guia.

Ao clicar em uma animação, o DevTools apresenta os detalhes dos quadros-chave. Por exemplo, ao clicar na animação da caixa, você verá algo semelhante a isto:

O DevTools exibe todas as animações associadas ao elemento selecionado. Como há apenas uma animação (rotateAndChangeColor) definida para a caixa vermelha, apenas seus detalhes são mostrados.

Você pode arrastar a linha para a esquerda para acelerar a animação, ou para a direita para desacelerá-la. Também é possível pausar a animação em pontos específicos usando os botões de pausa e reprodução. As porcentagens na parte superior permitem visualizar a animação em um quarto ou um décimo da velocidade normal.

Ao inspecionar a transição do botão, o DevTools mostrará as propriedades individuais da transição: a cor e a cor de fundo.

Essa ferramenta permite manipular sua animação para observar seu comportamento em detalhe. Isso pode ser útil para diagnosticar problemas no seu site.

Exemplos Avançados de Animação

Comece substituindo o código na tag <body> do HTML pelo seguinte:

<div class="move-me move-me-1">steps(4, end)</div>
<br />
<div class="move-me move-me-2">steps(4, start)</div>
<br />
<div class="move-me move-me-3">no steps</div>

Em seguida, substitua o conteúdo do arquivo style.css por este:

.move-me {
  display: inline-block;
  padding: 20px;
  color: white;
  position: relative;
  margin: 0 0 10px 0;
}
.move-me-1 {
  animation: move-in-steps 8s steps(4, end) infinite;
}
.move-me-2 {
  animation: move-in-steps 8s steps(4, start) infinite;
}
.move-me-3 {
  animation: move-in-steps 8s infinite;
}
body {
  padding: 20px;
}
@keyframes move-in-steps {
  0% {
    left: 0;
    background: blue;
  }
  100% {
    left: 100%;
    background: red;
  }
}

Todos os elementos <div> agora têm uma animação de movimento em etapas, que altera a posição e a cor de fundo. Cada caixa tem uma animação diferente que controla o número de passos que ela executa.

Enquanto a terceira caixa desliza continuamente para a direita, as duas primeiras se movem em passos discretos até atingir o final da tela, com a segunda caixa começando antes da primeira.

Abra a guia “Animações” no DevTools e atualize a página para visualizar as informações detalhadas dessas animações:

Vários elementos são animados simultaneamente. Neste caso, a cor de fundo e a posição da caixa são animadas ao mesmo tempo para as três caixas.

Observe os nós em cada linha de animação. Quando uma animação se repete infinitamente, os nós mostram onde cada repetição começa e termina. Os nós vazios representam os quadros-chave da animação, enquanto os nós sólidos e coloridos indicam o início e o fim da animação. Nós escuros aparecem sempre que a animação reinicia.

Você também pode editar as animações diretamente no DevTools, assim como qualquer propriedade CSS. As mudanças feitas na interface de animação são refletidas nos estilos embutidos na guia “Estilos”, e vice-versa. Isso permite fazer alterações, testá-las e copiá-las para o seu projeto real.

O DevTools do Google Chrome é uma ferramenta essencial para depurar CSS, incluindo animações. Ele oferece uma visão detalhada de cada transição e animação, permitindo analisar cada etapa do processo.

Como desenvolvedor web, é fundamental estar familiarizado com o DevTools do seu navegador ou ferramenta equivalente, para otimizar seu trabalho e criar experiências mais ricas e interativas.