Skip to content

View Transitions API

Коротко:

View Transitions API — нативная JS API для плавных animations между состояниями DOM. document.startViewTransition() делает snapshot старого → применяет изменения → анимирует переход через CSS. Chrome 111+ (same-document), 126+ (cross-document). Framework-agnostic, но интеграции с React Router, Next.js уже есть.

Ниже: подробности, пример, смежные термины, FAQ.

Попробовать бесплатно →

Подробности

  • Same-document: SPA-like transitions без переоткрытия страницы
  • Cross-document: transitions между MPA pages (Chrome 126+)
  • CSS: ::view-transition-old(*) / ::view-transition-new(*)
  • Customize: view-transition-name per element
  • Fallback: без support — instant transition без animation

Пример

// Plain JS — SPA page switch
function navigate(url) {
  if (!document.startViewTransition) return render(url);
  document.startViewTransition(() => render(url));
}

// CSS custom animation
@keyframes fade-in { from { opacity: 0; } }
::view-transition-new(root) {
  animation: fade-in 0.3s ease;
}

Смежные термины

Больше по теме

Часто задаваемые вопросы

Framework Motion replacement?

Для простых page transitions — да. Для complex interactive animations (drag, spring physics) — Framer Motion / GSAP лучше.

Safari support?

Technology Preview 208 (2025) имеет same-document. Production Safari — ещё нет. Firefox: тоже WIP.

SEO impact?

Same-document: no impact (SPA routing). Cross-document: native nav, crawlers видят regular navigation.