<Transition> Transições de Entrada/Saída

Última atualização: 2026-10-22

<Transition> Transições de Entrada/Saída

O envolve um único elemento ou componente e aplica classes ou hooks de transição quando ele entra ou sai.

GrupoIntegrados
TipoComponente / Elemento
EscopoTemplate
Versão do Vue3.0+
Suporte a SSRSim

📝 Sintaxe

<Transition name="fade">
  <p v-if="show">conteúdo</p>
</Transition>

/* Classes: fade-enter-active / fade-enter-from / fade-enter-to (o mesmo para leave) */
.fade-enter-active { transition: opacity .3s }
.fade-enter-from { opacity: 0 }

⚙️ Argumentos

propsname (prefixo das classes) / appear / mode (out-in etc.) / duration / css:false para ativar hooks JS

▶ Exemplo

Edite o código abaixo e veja o resultado ao vivo:

Saída:

Toggling fades the paragraph out and back in over ~0.3s.

💡 Pontos-chave

💡 Dica O name define o prefixo das classes (fade-*); sem ele, usa-se o padrão v-*.
⚠️ Aviso Permite apenas um elemento/componente raiz: para vários elementos, use ou branches v-if/v-else.
ℹ️ Nota mode="out-in" espera a saída terminar antes da entrada, evitando saltos de posição.
Mais casos em breve.

📚 Tutoriais Relacionados

❓ FAQ

P Por que nenhuma animação acontece?
R Na maioria das vezes falta o CSS correspondente ou o prefixo das classes não combina com o name; verifique regras como fade-enter-active.
P CSS e hooks JS podem ser combinados?
R Sim, mas com css:false o controle fica apenas nos hooks JS, evitando controle duplo.
P E animações de lista?
R Use <TransitionGroup>, que oferece transição de movimento com a classe .move.
Web-Tutorial.com

Equipe Técnica Web-Tutorial

Uma plataforma de tutoriais mantida por diversos desenvolvedores. Cada tutorial é escrito e revisado por profissionais da área correspondente. Trabalhamos para manter nosso conteúdo preciso e confiável — se encontrar algum problema, avise-nos.

100%