0Pricing
CSS Academy · Aula

API View Transitions

Crie animações suaves de transição de páginas e elementos usando a API CSS View Transitions.

API View Transitions é uma aula grátis de CSS Academy no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de CSS Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de CSS Academy inclui 4 aulas no total.

O que é a API de transições de visualização?

A API de transições de visualização (Chrome 111+) permite transições suaves e animadas entre diferentes estados de uma página ou entre navegações de páginas. Ela captura imagens antes e depois e faz uma transformação gradual entre elas usando animações de CSS — permitindo transições semelhantes às de aplicativos na internet.

Transições no mesmo documento

Acione uma transição na mesma página envolvendo uma atualização do DOM em document.startViewTransition(() => updateDom()). O navegador captura o estado antigo, executa a atualização, captura o novo estado e faz uma dissolução gradual entre eles automaticamente.

<button id="update-btn">Update Content</button>
<div class="content">Before update</div>

Dissolução gradual padrão

Sem nenhum CSS, View Transitions executa uma simples dissolução gradual entre os estados antigo e novo da página. Essa única linha de JavaScript adiciona uma transição refinada que antes exigia uma orquestração complexa de animações de CSS ou uma biblioteca de animação dedicada.

Pseudo-elementos de CSS

A API expõe quatro pseudo-elementos: ::view-transition (sobreposição raiz), ::view-transition-old(root) (imagem da página antiga), ::view-transition-new(root) (imagem da página nova) e ::view-transition-image-pair(root). Personalize-os com animações de CSS.

Transições nomeadas com view-transition-name

Atribua view-transition-name: hero-image a um elemento que permanece durante a transição. A API transforma esse elemento da posição e do tamanho antigos para a posição e o tamanho novos — criando automaticamente uma animação suave no nível do elemento.

<div class="hero-img"></div>

Animações personalizadas

Substitua a dissolução gradual padrão por quadros-chave personalizados nos pseudo-elementos: faça a entrada pela direita em uma navegação para frente e pela esquerda ao voltar. Direcione ::view-transition-new(root) e ::view-transition-old(root) com @keyframes.

Transições de MPA (API de navegação)

As transições de visualização entre documentos (Chrome 126+) animam navegações de páginas completas em aplicações de várias páginas. Adicione @view-transition { navigation: auto; } ao CSS — o navegador gerencia automaticamente a transição entre páginas HTML, sem necessidade de JavaScript.

Acessibilidade: respeitando as preferências de movimento

Usuários com distúrbios vestibulares não devem experimentar transições com muito movimento. Envolva as animações de transição em @media (prefers-reduced-motion: no-preference) para desativar as animações personalizadas para usuários que preferem menos movimento, mantendo a atualização funcional do DOM.

<p>This rule targets browser-generated <code>::view-transition-old(root)</code> and <code>::view-transition-new(root)</code> pseudo-elements &mdash; visible only during an active view transition, not in a static preview.</p>

Integração com estruturas SPA

React Router v6.4+, Vue Router e Astro são compatíveis com View Transitions. As estruturas envolvem automaticamente as mudanças de rota em startViewTransition. Configure estilos de transição por rota com view-transition-name em elementos persistentes, como a navegação e as estruturas do layout.

Considerações de desempenho

View Transitions captura imagens da página, o que pode ser dispendioso em layouts complexos. Páginas grandes com muitas camadas compostas podem apresentar travamentos durante a captura. Mantenha a duração da transição abaixo de 300 ms e evite fazer transições em subárvores extremamente complexas.

Aprimoramento progressivo

Verifique se a API está disponível antes de usá-la: if (!document.startViewTransition) { updateDom(); return; }. A alternativa atualiza o DOM normalmente, sem animação. View Transitions é um aprimoramento progressivo — o aplicativo funciona sem esse recurso; ele apenas melhora a experiência onde houver suporte.

Verificação de conhecimentos

O que view-transition-name em um elemento permite durante uma transição de visualização?

Resumo

A API de transições de visualização permite animações de dissolução gradual e transformação entre estados do DOM ou navegações de páginas com o mínimo de código. Elementos de transição nomeados são transformados automaticamente; animações personalizadas de pseudo-elementos substituem a dissolução gradual padrão. Respeite prefers-reduced-motion e use aprimoramento progressivo para navegadores sem suporte.

Perguntas Frequentes

A aula “API View Transitions” é grátis?

Sim — o texto completo de “API View Transitions” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de CSS Academy, atualize para CoddyKit PRO. O curso de CSS Academy inclui 4 aulas no total.

O que vou aprender em “API View Transitions”?

Crie animações suaves de transição de páginas e elementos usando a API CSS View Transitions. Você pratica CSS Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar CSS Academy?

Nenhuma experiência prévia é necessária. CSS Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.

Quanto tempo leva a aula “API View Transitions”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de CSS Academy?

Sim. Cada aula de CSS Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Aninhamento nativo de CSS
  2. :has(): pseudo-classe relacional
  3. @scope para estilos com escopo
  4. API View Transitions
← Voltar para CSS Academy