# Cross-document view transitions (@view-transition)

Estado: Chrome 126, Safari 18.2; Firefox todavía no (caniuse hasta 158). Área de foco de Interop 2026.  
Fuente: https://caniuse.com/mdn-css_at-rules_view-transition and https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/At-rules/@view-transition  
Página: https://designforai.dev/es/css/cross-document-view-transitions

Activa en un sitio multipágina las navegaciones animadas con una sola at-rule en ambas páginas; los `view-transition-name` compartidos se transforman entre páginas. Da a los sitios estáticos transiciones tipo SPA con cero JS.

## HTML

```html
<!-- page A -->
<a href="post.html" class="fx-040"><div style="aspect-ratio:16/10;background:linear-gradient(135deg,#dbeaff,#ece0ff)"></div></a>
<!-- page B has the same image with the same view-transition-name -->
```

## CSS

```css
@view-transition {
  navigation: auto
}
::view-transition-old(root) {
  animation-duration: .2s
}
::view-transition-new(root) {
  animation-duration: .3s
}
::view-transition-group(fx-040-hero) {
  animation-duration: .45s;
  animation-timing-function: cubic-bezier(.2,.8,.2,1)
}
@media (prefers-reduced-motion: reduce) {
  ::view-transition-group(*) {
    animation: none
  }
}
.fx-040 :is(a,button,input,select,textarea):focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
```

Fallback: Los navegadores sin soporte navegan de forma normal; nada más cambia.

## Prompt

Habilita view transitions entre documentos en este sitio multipágina: añade `@view-transition { navigation: auto }` a la hoja de estilos compartida, da a la imagen del hero / título el mismo `view-transition-name` en las páginas de lista y de detalle, ajusta duraciones con `::view-transition-old/new(root)` y `::view-transition-group(name)`, y desactívalo bajo `prefers-reduced-motion`. Solo páginas del mismo origen; Firefox simplemente navegará sin animación.
