Płynne przejścia dzięki interfejsowi View Transition API

Interfejs View Transition API umożliwia tworzenie płynnych wizualnych przejść między różnymi widokami w witrynie. Dzięki temu użytkownicy będą mogli łatwiej poruszać się po witrynie, niezależnie od tego, czy jest ona aplikacją wielostronicową (MPA), czy aplikacją jednostronicową (SPA).

Typowe sytuacje, w których używasz przejść między widokami:

  • Miniatura na stronie produktu, która na stronie ze szczegółami produktu zmienia się w obraz w pełnym rozmiarze.
  • Stały pasek nawigacyjny, który pozostaje widoczny podczas przechodzenia z jednej strony na drugą.
  • Siatka z elementami, które zmieniają pozycję podczas filtrowania.
Przejścia utworzone za pomocą interfejsu View Migrate API. Zajrzyj na stronę demonstracyjną. Wymaga Chrome 111 lub nowszej wersji.

Wdrażanie przejść między widokami

Przejścia widoku nie są powiązane z konkretną architekturą ani platformą i mogą być aktywowane nie tylko w jednym dokumencie, ale także między 2 różnymi dokumentami.

Oba typy przejść między widokami opierają się na tych samych elementach i zasadach:

  1. Przeglądarka wykonuje zrzuty starego i nowego stanu.
  2. DOM jest aktualizowany, gdy renderowanie jest blokowane.
  3. Przejścia są generowane za pomocą technologii CSS Animations.

Jedyną różnicą między tymi 2 typami jest sposób ich aktywowania.


Przejścia w tym samym dokumencie

Gdy przejście widoku jest uruchamiane w ramach jednego dokumentu, nazywa się przejściem widoku tego samego dokumentu. Zwykle tak się dzieje w przypadku aplikacji jednostronicowych. Przejścia między widokami tego samego dokumentu są obsługiwane w Chrome od wersji 111.

Obsługa przeglądarek

  • Chrome: 111.
  • Edge: 111.
  • Firefox: nieobsługiwane.
  • Safari: 18.

Źródło

Jak uruchomić

Aby wywołać przejścia w tym samym dokumencie, wywołaj funkcję 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());
}

Przykład

Przykład kart to aplikacja SPA, która używa przejść w tym samym dokumencie do animowania kart podczas dodawania lub usuwania nowych kart.

Nagranie prezentacji kart. Wymaga Chrome w wersji 111 lub nowszej.

Zacznij tworzyć

Więcej informacji o przejściach między widokiem tego samego dokumentu znajdziesz na specjalnej stronie z dokumentacją.

Tworzenie przejść między widokiem tego samego dokumentu


Przejścia między widokami dokumentów

Przejście między widokami w 2 różnych dokumentach nazywa się przejściem między widokami dokumentów. Jest to typowe dla MPA. Przejścia między widokami dokumentów są obsługiwane w Chrome w wersji 126 i nowszych.

Obsługa przeglądarek

  • Chrome: 126.
  • Edge: 126.
  • Firefox: nieobsługiwane.
  • Safari Technology Preview: obsługiwane.

Jak uruchomić

Przejścia między widokami dokumentów są wywoływane przez nawigację między dokumentami w tej samej domenie, jeśli obie strony zostały włączone. Inaczej mówiąc, nie ma interfejsu API, którego można wywołać, aby rozpocząć przejście do widoku obejmującego wiele dokumentów. Gdy użytkownik kliknie link, kliknięcie spowoduje przejście do widoku.

Aby to zrobić, użyj tego fragmentu kodu CSS:

@view-transition {
  navigation: auto;
}

Przykład

Ten przykład nawigatora warstw to MPA, który używa przejść między widokami 2 różnych dokumentów. W zależności od tego, czy przechodzisz do kolejnych poziomów nawigacji, strony są dodawane do stosu lub usuwane z niego.

Nagranie prezentacji Stack Navigator. Wymaga Chrome 126 lub nowszej wersji.

Zacznij tworzyć

Dowiedz się wszystkiego o przejściach między widokami dokumentów.

Tworzenie przejść między dokumentami