TGViewer
Будни разработчика Будни разработчика @htmlshit · 14.4K subscribers
Post #4189 1.95K
#статья дня

В CSS предлагают добавить роутинг

Сейчас без JS кастомные анимации перехода по страницам практически невозможны: ловить переход, смотреть исходный и конечный URL, определять, по какой ссылке кликнули, и уже после этого выбирать нужный View Transition.

В черновике CSS Route and Navigation Matching предлагают описывать эту логику прямо в CSS.

Всё можно описать декларативно, если ты достаточно смел. Ну вы поняли.

Например, сначала объявить маршруты:


@route --home {
pathname: url-pattern("/");
}

@route --article {
pathname: url-pattern("/articles/:id");
}


А потом задать отдельную анимацию для перехода с главной на статью:


@navigation (from: --home) and (to: --article) {
@view-transition {
navigation: auto;
types: slide-left;
}
}


Для перехода назад можно использовать другой тип анимации.

Кроме @route и @navigation, в черновике есть :nav-source — селектор элемента, с которого начался переход, и :link-to() — селектор ссылок, ведущих на определённый маршрут.

Самый понятный пример — список карточек. Пользователь нажимает на изображение, открывается отдельная страница, а именно эта картинка плавно превращается в большое изображение статьи. Сейчас для такого обычно нужен JavaScript, который найдёт нажатый элемент и назначит ему view-transition-name. Здесь это хотят сделать без ручной обвязки.

Роутер это, конечно, не заменяет. CSS не будет загружать страницы или управлять историей браузера. Он просто сможет выбирать стили и анимации с учётом того, между какими адресами происходит переход.

Пока это ранний Editor’s Draft, поэтому синтаксис ещё вполне может измениться. Попробовать можно в Chrome Canary с включённым Experimental Web Platform Features.

Подробный разбор — у Ван Дамма нашего Брамуса, сам черновик — на сайте CSSWG.

#route #css #view #transition
  • 🔥 16
  • ❤ 3
More from @htmlshit
  1. Sep 28, 2026#релиз дня Яндекс выложил в открытый доступ новую базовую модель Alice AI — AliceAI-Founda…
  2. Sep 28, 2026#библиотека дня Poimandres снова на коне: заваншотили (на самом деле нет) математическую б…
  3. Sep 25, 2026#фишка дня Вот такой короткий набор CSS правил позволит текстовому полю расти вместе со вв…
  4. Sep 25, 2026#статья дня Ахмад Шадид придумал, как на CSS определить, что два элемента начинают пересек…
  5. Sep 24, 2026#релиз дня Похоже, следующим коллегой разработчика станет не один ИИ-агент, а целая команд…
  6. Sep 24, 2026#инструмент дня Кто-нибудь, остановите это безумие! Очередная библиотека подсветки синтакс…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →