Frontend Разработка | JavaScript & Верстка сайтов. HTML, CSS и React. Уроки для Фронтенд Developer. JS, Vue и Web технологии. IT Карьера, Курсы и Coding.
Frontend Разработка | JavaScript & Верстка сайтов. HTML, CSS и React. Уроки для Фронтенд Developer. JS, Vue и Web технологии. IT Карьера, Курсы и Coding.
1 509 подписчиков · @frontend_1
К каналу →
🚀 Подборка полезных IT каналов в Max Системное администрирование, DevOps 📌 https://max.ru/i_odmin Все для системного администратора https://max.ru/bash_srv Bash Советы https://m…
Читать далее →
3 050
🧬 Иммутабельность из коробки: toSorted(), toSpliced() и with() Сколько раз вы ловили трудноуловимые баги в React или Redux из-за того, что методы sort(), reverse() или splice() не…
Читать далее →
3 016

Нативный View Transitions API Анимация перехода между страницами (или состояниями приложения) всегда была болью.

Нативный View Transitions API

Анимация перехода между страницами (или состояниями приложения) всегда была болью. Чтобы картинка из карточки товара плавно перелетела на страницу деталей, мы тянули тяжелые framer-motion, react-spring и писали горы логики, чтобы держать старый DOM-узел живым во время анимации.

Теперь это делает сам браузер на уровне движка с помощью View Transitions API.

В чем суть?
Когда вы вызываете API, браузер буквально делает скриншот текущего состояния, замораживает его, дает вам обновить DOM, делает скриншот нового состояния и автоматически создает CSS-анимацию (по умолчанию crossfade) между этими двумя «кадрами».

🚀 Как это выглядит в коде (SPA):

Вместо синхронного изменения стейта оборачиваем апдейт в один метод:

// Функция, которая меняет DOM (например, рендер нового роута)
function updatePage() {
renderNewRoute();
}

// ❌ Как было:
// updatePage();

// ✅ Как теперь:
if (!document.startViewTransition) {
updatePage(); // Фолбэк для старых браузеров
} else {
// Браузер сам создаст плавный переход
document.startViewTransition(() => updatePage());
}

🧠 Senior-уровень: Анимация конкретных элементов

Дефолтный crossfade всей страницы это скучно. Самое крутое, это Hero-анимации (когда элемент перелетает на новое место с изменением размера).

Чтобы браузер понял, что маленькая аватарка в списке и большая аватарка в профиле - это один и тот же элемент, им просто нужно дать одинаковое CSS-свойство view-transition-name:

/* На странице списка */
.user-avatar-small {
view-transition-name: user-avatar;
}

/* На странице профиля (после апдейта DOM) */
.user-avatar-large {
view-transition-name: user-avatar;
}

Всё! При вызове startViewTransition браузер сам рассчитает траекторию, скейл и плавно переместит аватарку.

🔥 А что с классическими многостраничниками (MPA)?
Это самая бомба. Chrome уже поддерживает кросс-документные переходы (между реальными HTML-страницами вашего сайта). Не нужно никакого JS!

Просто добавляем в CSS:

@view-transition {
navigation: auto;
}

И страницы начнут плавно перетекать друг в друга при клике на обычные ссылки <a href="...">.

👉 @frontend_1
⚡️ Прощай, FID. Привет, INP: Главная метрика Core Web Vitals First Input Delay (FID) официально ушел на пенсию в марте 2024 года. На его место пришел INP (Interaction to Next Pain…
Читать далее →
2 915
Fundamentals Добро пожаловать в Долину Кода. Ваше путешествие в мир веб-разработки начинается здесь. В разделе «Основы» вы узнаете об основных строительных блоках Интернета, Веба …
Читать далее →
2 947
Другие главы канала «Frontend Разработка | JavaScript & Верстка сайтов. HTML, CSS и React. Уроки для Фронтенд Developer. JS, Vue и Web технологии. IT Карьера, Курсы и Coding.»
Выберите главу, чтобы продолжить чтение
Все посты →
Глава от 16.06.2026
Локальный запуск LLM перестал быть экспериментом Все больше команд разворачиваю…
👁 197 просмотров
Глава от 16.06.2026
💡Совет по CSS 📖 Используйте свойство shape-outside, чтобы обтекать текст вокруг…
👁 220 просмотров
Глава от 15.06.2026
Всплывающие скроллеры изображений с анимацией, управляемой прокруткой CSS 🤙 .po…
👁 381 просмотров
Глава от 12.06.2026
Совет💡 Используй тригонометрические функции в CSS, чтобы создать плавный ступен…
👁 510 просмотров
Глава от 12.06.2026
Когда ИИ-агент выходит за пределы экспериментов, одного «умного чата» становится…
👁 482 просмотров
Глава от 11.06.2026
Знаете ли вы, что в CSS можно определить поворот с помощью блока turn? 🤩 👉 @fro…
👁 577 просмотров
Глава от 10.06.2026
global-error.tsx отображается только в продакшене, а локально в Next.js — нет. …
👁 714 просмотров
Глава от 09.06.2026
Совет по CSS 💡 Знаете ли вы о свойстве shape-outside в CSS? Demo https://www.…
👁 809 просмотров
Глава от 08.06.2026
Image gallery with flex-grow Пример галереи изображений на CSS + HTML с эффект…
👁 731 просмотров

Популярные посты канала «Frontend Разработка | JavaScript & Верстка сайтов. HTML, CSS и React. Уроки для Фронтенд Developer. JS, Vue и Web технологии. IT Карьера, Курсы и Coding.»

Идеальные заголовки без JS: text-wrap: balance Дизайнеры ненавидят «висячие» слова. Когда длинный заголовок переносится так, что на второй …
👁 3 158 просмотров
Используйте свойство columns, чтобы разделить статью на отзывчивые колонки 🚀. 👉 @frontend_1
👁 3 119 просмотров
🚀 Подборка полезных IT каналов в Max Системное администрирование, DevOps 📌 https://max.ru/i_odmin Все для системного администратора https…
👁 3 113 просмотров
any - это ложь, которую вы говорите сами себе Давайте честно: когда у вас горят дедлайны, а TypeScript ругается на несовпадение типов, рука…
👁 3 099 просмотров
Почему z-index: 9999 не работает (и как перестать страдать) Знакомая ситуация? У вас есть модалка, которая почему-то перекрывается хедером.…
👁 3 080 просмотров
🛑 Хватит проверять isMounted в useEffect Вы наверняка видели (или писали) такой код, чтобы избежать ошибки "Can't perform a React state upd…
👁 3 075 просмотров
🎨 CSS :has() - это легальный чит-код в верстке Мы привыкли называть :has() «селектором родителя», но это определение сильно преуменьшает ег…
👁 3 074 просмотров
🤝 Promise.withResolvers() - конец старого костыля Если вы работали со сложными асинхронными потоками, вам наверняка приходилось «вытаскиват…
👁 3 072 просмотров
Cовет💡 Быстрый и простой совет для вложенных радиусов: ваши углы будут выглядеть намного лучше, если вы установите внешний радиус на сумму …
👁 3 062 просмотров
🛡 TypeScript: Почему satisfies круче обычного объявления типа? Многие по привычке пишут так: const config: Config = { ... }. Это работает д…
👁 3 058 просмотров
Советы по HTML 💡 Знаете ли вы, что с помощью элемента HTML <dialog> можно легко создать модал? 👉 @frontend_1
👁 3 053 просмотров
🏗 Забудьте про z-index: 9999: Нативный <dialog> Мы годами писали сложные велосипеды для модальных окон или тянули тяжелые библиотеки. Главн…
👁 3 052 просмотров
🚀 Подборка полезных IT каналов в Max Системное администрирование, DevOps 📌 https://max.ru/i_odmin Все для системного администратора https…
👁 3 050 просмотров
📐 Перестаньте верстать под экран: @container Мы привыкли делать адаптив через @media, опираясь на размер экрана. Но это ломает компонентный…
👁 3 049 просмотров
Синхронизация React с API браузера 👉 @frontend_1
👁 3 045 просмотров
🚫 Перестаньте использовать pointer-events: none для блокировки UI Когда вы открываете Side-menu (шторку), показываете лоадер или переключае…
👁 3 039 просмотров
📦 Нативная группировка: Object.groupBy Сколько раз в жизни вы писали reduce для группировки массива объектов по какому-то полю? Или тянули …
👁 3 037 просмотров
🗣 Хватит склеивать массивы через .join(', ') Каждый фронтендер хотя бы раз писал функцию, которая превращает массив ['A', 'B', 'C'] в строк…
👁 3 023 просмотров
🧬 Иммутабельность из коробки: toSorted(), toSpliced() и with() Сколько раз вы ловили трудноуловимые баги в React или Redux из-за того, что …
👁 3 016 просмотров
Знаете ли вы, что можно изменить метод формы в HTML-форме, указав атрибут formMethod на кнопке? 👉 @frontend_1
👁 3 004 просмотров

Связанные темы в других каналах

Каналы из той же тематики, где часто появляются близкие сюжеты
Вся тема →
@matematik_andrei_channel
Математик Андрей
Основатель онлайн-школы «Точка Знаний» В канале: — короткие видео по темам 1-11 классов — разбор задач ВПР/ОГЭ/ЕГЭ — применение математики в жизни Получить консульта…
👥 238 939 · +36 038/7д
@obr_mo
Образование Подмосковья
Главные новости об образовании в Московской области: школы, колледжи, детские сады, вузы. Актуальная информация от Министерства образования МО, рейтинги учебных заведений…
👥 79 445 · -1 461/7д
@Moscow_school
Московское образование
Успех начинается здесь! Приложение «ЗОЖ с МЭШиком» https://max.ru/meshik_app_bot Для СМИ: press-donm@mos.ru Сайт: mosobr.shkolamoskva.ru ВК: vk.com/educationdep ТГ: htt…
👥 67 578 · -619/7д
@minprosrf
Минпросвещения России
Официальный канал Министерства просвещения России. Всё об образовании для родителей, педагогов и учащихся. Сайт edu.gov.ru ВКонтакте vk.com/minprosvet Однокл
👥 54 937 · +1 623/7д
@Lingvaa
Лингвист | Русский язык Образование
Канал №1 для тех, кто звонИт, а не звОнит! По рекламе: https://clck.ru/3R7DoR Биржа: https://telega.in/c/Lingvaa
👥 53 567 · -114/7д
@id110802233432_biz
Школы РФ
Новости школьного образования для детей и родителей # дети школа школьник новости школьное образование гдз егэ огэ дневник впр оценка учителя родители Реклама: https:…
👥 43 647 · +998/7д
🏷 Темы и теги
#frontend #javascript #react #vue #html5 #css3 #Образование
📋 О канале Frontend Разработка | JavaScript & Верстка сайтов. HTML, CSS и React. Уроки для Фронтенд Developer. JS, Vue и Web технологии. IT Карьера, Курсы и Coding.
Твой путь в веб-разработку. Основы: HTML5, CSS3, Flexbox, Grid. Адаптивная верстка (Responsive) и макеты из Figma. Глубокий JavaScript (ES6+), DOM и события. Фреймворки: React, Vue.js, Angular. Препроцессоры SCSS и стилизация Tailwind. Работа с Git и GitHub. Как пройти собеседование на Junior Frontend Developer. Задачи, тесты и создание портфолио с нуля.
🔍 Архив всех постов Макс
Поиск по 8,299,288 постам из 199,732 каналов
Попробовать за 1 ₽ →
Удалить пост или канал с МАКСОТЕКИ
Заявка подтверждается через бота Макс: нужно быть администратором канала и добавить бота МАКСОТЕКИ в администраторы. После проверки канал или конкретный пост скрывается с сайта.
📊 Аналитика канала «Frontend Разработка | JavaScript & Верстка сайтов. HTML, CSS и React. Уроки для Фронтенд Developer. JS, Vue и Web технологии. IT Карьера, Курсы и Coding.» ➡️ Перейти в канал Макс
Заявка в МАКСОТЕКА
Добавьте свой канал в каталог
Зарегистрируйтесь в личном кабинете и добавьте канал за пару кликов.
Перейти в личный кабинет →

Бесплатная регистрация, быстрая модерация.