Animação SVG: 20 exemplos ao vivo com código

Exemplos de animação SVG

Animação SVG: 20 exemplos ao vivo em CSS e SMIL, comparação com Lottie | We.Inc

Vinte animações SVG ao vivo com código para copiar: desenho de linha, loaders, transições de ícone, barras de gráfico crescendo e morph de path, além de CSS vs SMIL vs GSAP e SVG vs Lottie.

A animação SVG move ou redesenha formas vetoriais com CSS, SMIL ou JavaScript. Os keyframes do CSS cuidam de transforms, opacity e do truque de desenho de linha com stroke-dasharray e stroke-dashoffset. Tags SMIL como <animate> podem transformar paths e seguir trajetórias de movimento sem scripts. Bibliotecas como o GSAP adicionam timelines e controle por rolagem. O Lottie é indicado para animações do After Effects feitas por designers.

Qual técnica para qual efeito

Cada animação desta página roda ao vivo a partir do código ao lado, em um frame com scripts desativados, então o que você copia é exatamente o que funciona sem JavaScript. Todas também param para visitantes que pedem movimento reduzido no sistema. Um criador de desenho de linha no topo gera o truque do stroke para qualquer path que você colar.

Perguntas frequentes

Como funciona o efeito de desenho de linha em SVG?

Dê ao stroke um dash do tamanho do path com stroke-dasharray, empurre-o para fora da vista com um stroke-dashoffset igual e depois anime o offset até 0. O dash desliza para o lugar e a linha parece se desenhar sozinha. pathLength="1" permite usar 1 para os dois valores.

O SMIL está obsoleto?

Não. O Chrome anunciou um plano para descontinuá-lo em 2015 e depois suspendeu esse plano. Elementos SMIL como animate, animateTransform e animateMotion funcionam em todos os principais navegadores atuais e fazem parte da especificação do SVG.

O CSS consegue fazer morph de paths SVG?

Em parte. A propriedade CSS d aceita valores path() e pode ser animada em navegadores Chromium e no Firefox, mas o Safari não a suportava no momento em que este texto foi escrito, então confira no caniuse. Os dois paths precisam ter o mesmo número e tipo de comandos. O animate do SMIL no atributo d tem suporte mais amplo.

Devo usar Lottie ou SVG?

Use SVG puro com CSS para ícones, loaders e ilustrações simples que você consegue descrever em código. Use Lottie quando um motion designer cria um personagem ou uma cena complexa no After Effects e você quer reproduzi-los com fidelidade. O Lottie precisa de uma biblioteca de player; o SVG puro não.

Como respeito o movimento reduzido em animações SVG?

Envolva as animações CSS em uma media query prefers-reduced-motion ou desative-as dentro dela. O CSS não consegue pausar o SMIL, então mostre uma versão estática do gráfico nessa media query, ou chame pauseAnimations() no elemento svg a partir de um script.

Desempenho

SVG ou Lottie

20 animações SVG ao vivo

Todas as vinte rodam sem JavaScript e incluem uma regra de movimento reduzido. Edite qualquer uma no próprio lugar.

Desenho de linha: sinal de check

O truque clássico do stroke com pathLength=1, para que os valores do dash não dependam do comprimento real.

Desenho de linha: traço de caligrafia

Um path mais longo desenhado devagar com easing linear parece uma caneta se movendo.

Loader: arco girando

Um círculo com um dash parcial gira; transform-box mantém o giro centralizado.

Loader: três pontos

Valores escalonados de animation-delay transformam um único conjunto de keyframes em uma onda.

Anel pulsante

Escala e esmaecimento juntos para um radar ou indicador de ao vivo.

Barras de equalizador

Cada barra escala no eixo Y a partir da base, com a própria duração.

Barras de gráfico crescendo

As barras crescem uma vez ao carregar. Usar forwards mantém o estado final, e a regra de movimento reduzido simplesmente mostra o gráfico pronto.

Progresso em rosca

A mesma ideia do dash em um círculo. Gire -90 graus para que comece no topo.

Transição de ícone: menu para fechar

Passe o mouse ou dê foco no botão. Cada linha se move e gira com uma transition, sem precisar de keyframes.

Batimento cardíaco

Dois passos rápidos de escala e depois uma pausa, tudo em uma única lista de keyframes.

Morph com a propriedade CSS d

Funciona no Chromium e no Firefox. Onde d não é suportada, a forma continua um quadrado. Os dois paths usam os mesmos comandos na mesma ordem.

Morph com animate do SMIL

O SMIL altera o próprio atributo d, que tem suporte mais amplo do que a propriedade CSS d. A cópia estática aparece para movimento reduzido.

Seguir um path com animateMotion

rotate=auto vira a forma para a direção do movimento.

Engrenagem girando com animateTransform

Os valores de rotate recebem o ponto central como segundo e terceiro números.

Gradiente que se desloca

O SMIL anima as cores das paradas do gradiente, algo que keyframes CSS em stop-color também conseguem fazer.

Onda sem fim

Um path com o dobro da largura da área visível desliza para a esquerda exatamente um período, então o loop não tem emenda.

Sino de notificação balançando no hover

Rotação a partir do topo do sino, disparada por hover ou foco do teclado.

Seleção com formigas marchando

Um stroke tracejado com offset animado, o visual de uma caixa de seleção em editores de imagem.

Dados fluindo por um conector

Traços curtos em uma linha curva se movem continuamente para sugerir direção.

Bola quicando com achatamento

O achatamento no impacto transmite o peso. transform-origin na base mantém a bola no chão enquanto ela se achata.

CSS vs SMIL vs JavaScript (GSAP)

Três formas de animar SVG

O mesmo desenho de linha e gráfico de barras no GSAP

Só o código, já que os frames das demos têm scripts desativados. O GSAP é gratuito sob a própria licença, que não é MIT, então leia os termos antes de publicar.

Criador de desenho de linha

Estrela

Onda

Casa

Repetir

Seu sistema pede movimento reduzido, então o desenho aparece pronto. Clique em Repetir para reproduzi-lo uma vez.

Dados do path (atributo d)

Duração: {n}s

Espessura do traço: {n}

Easing

Cor

SVG e CSS

Copiar código

Comece grátis · Sem cartão de crédito

Relacionados: Guias

Produto

Para quem é

Recursos

Recursos

Empresa

Mapa do site