Com a API View Transition, é possível criar transições visuais perfeitas entre diferentes visualizações do seu site. Isso cria uma experiência visualmente mais envolvente para os usuários enquanto eles navegam no seu site, independentemente de ele ter sido criado como um aplicativo de várias páginas (MPA) ou de página única (SPA).
Situações típicas em que você usaria transições de visualização incluem:
- Uma imagem em miniatura em uma página de informações do produto que faz a transição para uma imagem em tamanho real na página de detalhes do produto.
- Uma barra de navegação fixa que permanece no lugar enquanto você navega de uma página para outra.
- Uma grade com itens movendo-se das posições conforme você filtra.
Implementar transições de visualização
As transições de visualização não estão vinculadas a uma arquitetura ou framework de aplicativo específico e podem ser acionadas não apenas em um único documento e também entre dois documentos diferentes.
Os dois tipos de transição de visualização dependem dos mesmos elementos básicos e princípios básicos:
- O navegador cria snapshots dos estados antigo e novo.
- O DOM é atualizado enquanto a renderização é suprimida.
- As transições são alimentadas por animações CSS.
A única diferença entre os dois tipos é como eles são acionados.
Transições de visualização de um mesmo documento
Quando uma transição de visualização é executada em um único documento, ela é chamada de transição de visualização do mesmo documento. Isso geralmente ocorre em aplicativos de página única (SPAs). A partir do Chrome 111, as transições de visualização de um mesmo documento estão disponíveis no Chrome 111.
Como acionar
Para acionar as transições de visualização do mesmo documento, chame document.startViewTransition
:
function handleClick(e) {
// Fallback for browsers that don't support this API:
if (!document.startViewTransition) {
updateTheDOMSomehow();
return;
}
// With a View Transition:
document.startViewTransition(() => updateTheDOMSomehow());
}
Exemplo
O exemplo de cards a seguir é um SPA que usa transições de visualização do mesmo documento para animar os cards à medida que novos são adicionados ou removidos.
Comece a criar
Consulte a página de documentação dedicada para saber tudo sobre as transições de visualização de um mesmo documento.
Criar transições de visualização no mesmo documento
Transições de visualização entre documentos
Quando ocorre uma transição de visualização entre dois documentos diferentes, ela é chamada de transição de visualização de vários documentos. Isso é comum para MPAs. As transições de visualização entre documentos são compatíveis com o Chrome 126 e versões mais recentes.
Compatibilidade com navegadores
Como acionar
As transições de visualização de vários documentos são acionadas por uma navegação de mesma origem em documentos diferentes, caso as duas páginas estejam ativadas. Em outras palavras, não há API para chamar para iniciar uma transição de visualização de vários documentos. Quando um usuário clica em um link, o clique aciona a transição de visualização.
Para isso, use o seguinte snippet de CSS:
@view-transition {
navigation: auto;
}
Exemplo
O exemplo do Stack Navigator a seguir é uma MPA que usa transições de visualização entre documentos diferentes. Dependendo de você se aprofundar ou não na navegação, as páginas serão empurradas para a pilha ou serão retiradas.
Comece a criar
Saiba tudo sobre as transições de visualização entre documentos.