View Transitions API: przykłady

View Transitions API: przykłady na żywo dla SPA i MPA | We.Inc

Działające przykłady View Transitions API: startViewTransition w liście, którą możesz przetasować, nazwane elementy, które się przekształcają, @view-transition między stronami, typy, React i wsparcie przeglądarek.

View Transitions API: przykłady

View Transitions API animuje przejście między dwoma stanami strony. W aplikacji jednostronicowej opakuj aktualizację DOM w document.startViewTransition(() => update()). Między stronami w tym samym originie dodaj @view-transition { navigation: auto; } do obu stron. Nadaj elementowi unikalną view-transition-name, a przeglądarka przekształci go z dawnej pozycji w nową.

Dwa rodzaje view transitions

Większość objaśnień view transitions opisuje drzewo pseudoelementów i na tym kończy. Ta strona zaczyna od działającego demo w Twojej przeglądarce: przetasuj siatkę, otwórz kartę w widoku szczegółów i obserwuj, jak przesuwają się nazwane elementy. Potem podaje kod każdego wzorca, konfigurację między stronami i rozwiązania awaryjne dla przeglądarek bez wsparcia.

Najczęściej zadawane pytania

Co robi document.startViewTransition?

Robi zrzut bieżącej strony, uruchamia Twój callback aktualizacji, a potem animuje przejście od starego zrzutu do nowego, żywego stanu. Zwraca obiekt ViewTransition z obietnicami ready, finished i updateCallbackDone oraz metodą skipTransition().

Jak dodać view transitions między stronami?

Umieść @view-transition { navigation: auto; } w CSS zarówno strony, którą opuszczasz, jak i tej, na którą trafiasz. Strony muszą mieć ten sam origin, a domyślnie dostajesz przenikanie. Nadaj pasującym elementom tę samą view-transition-name na obu stronach, aby się przekształcały.

Czy view transitions działają w Firefox?

Przejścia w tym samym dokumencie działają od Firefox 144. Przejścia między dokumentami w chwili pisania nie były obsługiwane w Firefox, więc w tych przeglądarkach nawigacja odbywa się po prostu bez animacji.

Jak używać view transitions w React?

Wywołaj document.startViewTransition i zaktualizuj stan wewnątrz flushSync z react-dom, aby React zapisał nowy DOM synchronicznie, zanim przeglądarka zrobi nowy zrzut.

Jak dostosować animację?

Ostyluj pseudoelementy. ::view-transition-old(name) to wychodzący zrzut, ::view-transition-new(name) przychodzący, a ::view-transition-group(name) kontroluje rozmiar i pozycję. Dla całej strony użyj nazwy root.

Co dzieje się podczas przejścia

Dobre nazywanie elementów

Typy dla różnych kierunków

Przejścia w tym samym dokumencie

startViewTransition z wykrywaniem wsparcia

Przeglądarki bez tego API od razu wykonują aktualizację, więc nic się nie psuje.

Przekształcenie miniatury w duży obraz

Nazwę może mieć naraz tylko jeden element, więc ustaw ją na klikniętej miniaturze tuż przed przejściem.

React

startViewTransition z flushSync

flushSync sprawia, że React zatwierdza nowy DOM wewnątrz callbacku.

Przejścia między dokumentami

Przesuwanie między stronami witryny wielostronicowej

Dodaj to do arkusza stylów każdej strony, która ma brać udział. Tylko ten sam origin.

Dokumentacja API

Elementy View Transitions API

Ograniczenie ruchu jest włączone, więc zmiana była natychmiastowa.

Twoja przeglądarka nie obsługuje view transitions, więc zmiana była natychmiastowa.

Demo na żywo

Przetasuj siatkę lub otwórz kartę. Każdy kafelek ma własną view-transition-name, więc przeglądarka animuje go do nowej pozycji.

Tasuj

Wróć do siatki

Kolorowy blok i tytuł przekształciły się z siatki, bo zachowują tu te same nazwy.

Zacznij za darmo · Bez karty kredytowej

Powiązane: Poradniki

Produkt

Dla kogo

Funkcje

Zasoby

Firma

Mapa strony