0Pricing
CSS Academy · Lección

API View Transitions

Cree animaciones fluidas de transición de páginas y elementos mediante la API CSS View Transitions.

API View Transitions es una lección gratuita de CSS Academy en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de CSS Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de CSS Academy incluye 4 lecciones en total.

¿Qué es la View Transitions API?

La View Transitions API (Chrome 111+) permite realizar transiciones fluidas y animadas entre distintos estados de una página o entre navegaciones. Captura instantáneas del estado anterior y posterior, y las transforma mediante animaciones CSS, lo que permite crear transiciones propias de una aplicación en la web.

Transiciones en el mismo documento

Inicie una transición en la misma página envolviendo una actualización del DOM en document.startViewTransition(() => updateDom()). El navegador captura el estado anterior, ejecuta la actualización, captura el nuevo estado y realiza automáticamente un fundido cruzado entre ambos.

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

Fundido cruzado predeterminado

Sin ningún CSS, View Transitions realiza un fundido cruzado sencillo entre los estados anterior y nuevo de la página. Esta única línea de JavaScript añade una transición pulida que antes requería coordinar animaciones CSS complejas o utilizar una biblioteca de animación específica.

Pseudoelementos CSS

La API expone cuatro pseudoelementos: ::view-transition (superposición raíz), ::view-transition-old(root) (instantánea de la página anterior), ::view-transition-new(root) (instantánea de la página nueva) y ::view-transition-image-pair(root). Personalícelos con animaciones CSS.

Transiciones con nombre mediante view-transition-name

Asigne view-transition-name: hero-image a un elemento que permanezca durante la transición. La API transforma ese elemento desde su posición y tamaño anteriores hasta su nueva posición y tamaño, creando automáticamente una animación fluida a nivel de elemento.

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

Animaciones personalizadas

Reemplace el fundido cruzado predeterminado con fotogramas clave personalizados en los pseudoelementos: deslice desde la derecha para la navegación hacia delante y desde la izquierda para volver atrás. Seleccione ::view-transition-new(root) y ::view-transition-old(root) con @keyframes.

Transiciones MPA (Navigation API)

Las View Transitions entre documentos (Chrome 126+) animan las navegaciones de página completa en aplicaciones multipágina. Añada @view-transition { navigation: auto; } al CSS y el navegador gestionará automáticamente la transición entre las páginas HTML, sin necesidad de JavaScript.

Accesibilidad: respeto de las preferencias de movimiento

Las personas con trastornos vestibulares no deberían experimentar transiciones con mucho movimiento. Incluya las animaciones de transición en @media (prefers-reduced-motion: no-preference) para desactivar las animaciones personalizadas para quienes prefieren reducir el movimiento, sin dejar de realizar la actualización funcional del 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>

Integración con frameworks SPA

React Router v6.4+, Vue Router y Astro son compatibles con View Transitions. Los frameworks envuelven automáticamente los cambios de ruta en startViewTransition. Configure los estilos de transición por ruta con view-transition-name en elementos persistentes, como la navegación y las estructuras base del diseño.

Consideraciones de rendimiento

View Transitions captura instantáneas de la página, lo que puede resultar costoso en diseños complejos. Las páginas grandes con muchas capas compuestas pueden presentar tirones durante la captura. Mantenga la duración de la transición por debajo de 300 ms y evite realizar transiciones en subárboles extremadamente complejos.

Mejora progresiva

Compruebe que la API esté disponible antes de utilizarla: if (!document.startViewTransition) { updateDom(); return; }. La alternativa actualiza el DOM normalmente, sin animación. View Transitions es una mejora progresiva: la aplicación funciona sin ella y simplemente ofrece una experiencia mejor allí donde es compatible.

Compruebe sus conocimientos

¿Qué permite view-transition-name en un elemento durante una View Transition?

Resumen

La View Transitions API permite realizar fundidos cruzados y animaciones de transformación entre estados del DOM o navegaciones con muy poco código. Los elementos con nombre de transición se transforman automáticamente y las animaciones personalizadas de pseudoelementos reemplazan el fundido cruzado predeterminado. Respete prefers-reduced-motion y use mejoras progresivas para los navegadores que no sean compatibles.

Preguntas frecuentes

¿La lección «API View Transitions» es gratis?

Sí — el texto completo de «API View Transitions» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de CSS Academy, actualiza a CoddyKit PRO. El curso de CSS Academy incluye 4 lecciones en total.

¿Qué aprenderé en «API View Transitions»?

Cree animaciones fluidas de transición de páginas y elementos mediante la API CSS View Transitions. Practicas CSS Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar CSS Academy?

No se requiere experiencia previa. CSS Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.

¿Cuánto tiempo toma la lección «API View Transitions»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de CSS Academy?

Sí. Cada lección de CSS Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Anidamiento nativo de CSS
  2. Pseudo-clase relacional :has()
  3. @scope para estilos con ámbito
  4. API View Transitions
← Volver a CSS Academy