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

Нативный 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…
Читать далее →
3 059
Fundamentals Добро пожаловать в Долину Кода. Ваше путешествие в мир веб-разработки начинается здесь. В разделе «Основы» вы узнаете об основных строительных блоках Интернета, Веба …
Читать далее →
3 095
Другие главы канала «Frontend Разработка | JavaScript & Верстка сайтов. HTML, CSS и React. Уроки для Фронтенд Developer. JS, Vue и Web технологии. IT Карьера, Курсы и Coding.»
Выберите главу, чтобы продолжить чтение
Все посты →
Глава от 25.07.2026
🚀 Подборка полезных IT каналов в Max Системное администрирование, DevOps 📌 ht…
👁 200 просмотров
Глава от 22.07.2026
🔎 Как "убить" ненужный console.log в проде — элегантно Многие забывают удалять …
👁 400 просмотров
Глава от 22.07.2026
🔥 useDeferredValue: плавный UX без костылей При ререндере сложных компонентов…
👁 388 просмотров
Глава от 21.07.2026
🔥 Трюк с :has() в CSS — как маленький хак улучшает UX Селектор :has() поддерж…
👁 429 просмотров
Глава от 20.07.2026
🎥 Вебинар: Выбор между Serverless и Kubernetes для AI-ворклоадов: как определить…
👁 358 просмотров
Глава от 20.07.2026
🔥 useMemo vs useCallback — не путай! Многие React-разработчики путают useMemo и…
👁 419 просмотров
Глава от 19.07.2026
🔥 Трюк с :has() в CSS: "Родительская магия" Селектор :has() наконец стабильно…
👁 443 просмотров
Глава от 17.07.2026
Совет по HTML 💡 Возможно, ты не знал об этой HTML-сущности для вставки мягких п…
👁 508 просмотров
Глава от 15.07.2026
Совет по JavaScript 💡 Одна строка кода, чтобы определить, есть ли в массиве дуб…
👁 592 просмотров

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

Используйте свойство columns, чтобы разделить статью на отзывчивые колонки 🚀. 👉 @frontend_1
👁 3 283 просмотров
Идеальные заголовки без JS: text-wrap: balance Дизайнеры ненавидят «висячие» слова. Когда длинный заголовок переносится так, что на второй …
👁 3 230 просмотров
🚀 Подборка полезных IT каналов в Max Системное администрирование, DevOps 📌 https://max.ru/i_odmin Все для системного администратора https…
👁 3 175 просмотров
🚀 Подборка полезных IT каналов в Max Системное администрирование, DevOps 📌 https://max.ru/i_odmin Все для системного администратора https…
👁 3 156 просмотров
Почему z-index: 9999 не работает (и как перестать страдать) Знакомая ситуация? У вас есть модалка, которая почему-то перекрывается хедером.…
👁 3 155 просмотров
🚀 Подборка полезных IT каналов в Max Системное администрирование, DevOps 📌 https://max.ru/i_odmin Все для системного администратора https…
👁 3 153 просмотров
any - это ложь, которую вы говорите сами себе Давайте честно: когда у вас горят дедлайны, а TypeScript ругается на несовпадение типов, рука…
👁 3 151 просмотров
🚀 Подборка полезных IT каналов в Max Системное администрирование, DevOps 📌 https://max.ru/i_odmin Все для системного администратора https…
👁 3 150 просмотров
Проект для начинающих на JavaScript – Урок по созданию игры Змейка В этом уроке программирования для начинающих вы научитесь создавать ретр…
👁 3 145 просмотров
Совет по CSS 💡 Легко реализуйте закрепленный заголовок таблицы 🤩 https://www.codewithshripal.com/playground/css/sticky-table-headers 👉 @f…
👁 3 136 просмотров
🧬 Иммутабельность из коробки: toSorted(), toSpliced() и with() Сколько раз вы ловили трудноуловимые баги в React или Redux из-за того, что …
👁 3 136 просмотров
Создааем адаптивный макет панели управления с помощью HTML и CSS 🚀 👉 @frontend_1
👁 3 135 просмотров
🛑 Хватит проверять isMounted в useEffect Вы наверняка видели (или писали) такой код, чтобы избежать ошибки "Can't perform a React state upd…
👁 3 128 просмотров
🤝 Promise.withResolvers() - конец старого костыля Если вы работали со сложными асинхронными потоками, вам наверняка приходилось «вытаскиват…
👁 3 127 просмотров
Cовет💡 Быстрый и простой совет для вложенных радиусов: ваши углы будут выглядеть намного лучше, если вы установите внешний радиус на сумму …
👁 3 124 просмотров
Синхронизация React с API браузера 👉 @frontend_1
👁 3 119 просмотров
🏗 Забудьте про z-index: 9999: Нативный <dialog> Мы годами писали сложные велосипеды для модальных окон или тянули тяжелые библиотеки. Главн…
👁 3 105 просмотров
Советы по HTML 💡 Знаете ли вы, что с помощью элемента HTML <dialog> можно легко создать модал? 👉 @frontend_1
👁 3 105 просмотров
🧬 Нативные операции с множествами (Set Methods) Классическая задача на собеседовании: «Найди общие элементы в двух массивах». Обычно мы пис…
👁 3 102 просмотров
🎨 CSS :has() - это легальный чит-код в верстке Мы привыкли называть :has() «селектором родителя», но это определение сильно преуменьшает ег…
👁 3 102 просмотров

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

Каналы из той же тематики, где часто появляются близкие сюжеты
Вся тема →
@matematik_andrei_channel
Математик Андрей
Основатель онлайн-школы «Точка Знаний» В канале: — короткие видео по темам 1-11 классов — разбор задач ВПР/ОГЭ/ЕГЭ — применение математики в жизни Получить консульта…
👥 319 737 · +5 446/7д
@kotikiobiasnayut
КОТЯТА ПОЯСНЯЮТ
Те самые котята пояснят тебе все что надо - легко и просто Самое большое фан сообщество рубрики «Котята поясняют» - присоединяйся! Владелец - https://iimax.ru/qwertyu…
👥 138 549 · +23 811/7д
@obr_mo
Образование Подмосковья
Новости об образовании в Московской области
👥 82 362 · +5 017/7д
@Moscow_school
Московское образование
Успех начинается здесь! Приложение «ЗОЖ с МЭШиком» https://max.ru/meshik_app_bot Для СМИ: press-donm@mos.ru Сайт: mosobr.shkolamoskva.ru ВК: https://vk.ru/educationdep…
👥 65 878 · -178/7д
@minprosrf
Минпросвещения России
Официальный канал Министерства просвещения России. Всё об образовании для родителей, педагогов и учащихся. Сайт edu.gov.ru ВКонтакте vk.com/minprosvet Однокл
👥 58 564 · +469/7д
@Lingvaa
Лингвист | Русский язык Образование
Канал №1 для тех, кто звонИт, а не звОнит! По рекламе: https://clck.ru/3R7DoR Биржа: https://telega.in/c/Lingvaa
👥 53 567 · -114/7д
🏷 Темы и теги
#html css #web development #it карьера #frontend #javascript #react #Образование
📋 О канале 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. Задачи, тесты и создание портфолио с нуля.
🔍 Архив всех постов Макс
Поиск по 13,530,697 постам из 202,271 каналов
Подключить за 490 ₽/мес →
Удалить пост или канал с МАКСОТЕКИ
Заявка подтверждается через бота Макс: нужно быть администратором канала и добавить бота МАКСОТЕКИ в администраторы. После проверки канал или конкретный пост скрывается с сайта.
📊 Аналитика канала «Frontend Разработка | JavaScript & Верстка сайтов. HTML, CSS и React. Уроки для Фронтенд Developer. JS, Vue и Web технологии. IT Карьера, Курсы и Coding.» ➡️ Перейти в канал Макс
Заявка в МАКСОТЕКА
Добавьте свой канал в каталог
Зарегистрируйтесь в личном кабинете и добавьте канал за пару кликов.
Перейти в личный кабинет →

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