Будущее CSS-анимаций - scroll-timeline, animation-timeline и animation-range, JS больше не нужен!

  Рет қаралды 6,762

Александр Ламков — Friendly Frontend

Александр Ламков — Friendly Frontend

Күн бұрын

✏️ Изучаем Scroll-driven Animations API - применяем новые CSS-свойства scroll-timeline, view-timeline, animation-timeline и animation-range на практических примерах.
🔴 Timeline:
▶ 00:00​ | Введение
▶ 00:30​ | Стандартное поведение анимации
▶ 01:30​ | Отслеживание скролла - свойство scroll-timeline (scroll-timeline-name, scroll-timeline-axis)
▶ 02:51​ | Свойство animation-timeline
▶ 04:19​ | Прогресс скролла страницы
▶ 05:19​ | Фиксированная (”липкая”) шапка с анимацией при скролле вниз
▶ 06:08​ | Свойство animation-range
▶ 07:10​ | Плавное появление элементов при скролле
▶ 08:00​ | Свойств view-timeline-name
▶ 09:00​ | Другие возможности Scroll-driven Animations API
▶ 09:13​ | Заключение
📚 Ссылки:
➖ Scroll-driven Animations примеры: scroll-driven-animations.style/
💬 Чат в телеграмме (помощь новичкам):
t.me/friendlyFrontendChat
🔸 Boosty (поддержать канал):
boosty.to/friendly-frontend
🗂️ Бесплатные курсы на канале:
🟠 HTML: • HTML курс 2024
🔵 CSS: • CSS курс 2024
🟡 JS: • JavaScript курс 2024
🟢 A11y: • Accessibility курс 2024
⚪️ Мастер-класс по верстке для новичков: • Верстка Kropp Fitness ...
🔘 Мастер-класс по верстке для продвинутых (БЭМ, SCSS): • Верстка Positivus (HTM...
🗺 Frontend Roadmap 2024 • Frontend Roadmap 2024 ...
📌 Автор:
➖ Личный сайт: aleksanderlamkov.ru/
➖ Telegram: t.me/friendlyFrontend
➖ Boosty: boosty.to/friendly-frontend
➖ GetMentor: getmentor.dev/mentor/aleksand...
➖ Solvery: solvery.io/mentor/aleksanderl...
#frontend #фронтенд #css

Пікірлер: 41
@AleksanderLamkov
@AleksanderLamkov 3 ай бұрын
📌 Друзья, в телеграмме у нас есть канал и отдельный чат, где вы можете задать вопрос по фронтенд-разработке и вам постараются помочь: 💬 Чат: t.me/friendlyFrontendChat ℹ Основной канал: t.me/friendlyFrontend Если вам это интересно, присоединяйтесь, задавайте вопросы и помогайте другим 🙂
@Anatoli-bq1pe
@Anatoli-bq1pe 15 күн бұрын
Благодарю за классное видео и ценную информацию!
@user-hw9cs6te5y
@user-hw9cs6te5y Ай бұрын
Благодарю. Мне как раз очень нужна была анимация с плавным проявлением картинок. Очень интересно и полезно
@user-no5jg7ku6l
@user-no5jg7ku6l 3 ай бұрын
Саша, ты как всегда выкатываешь крутую и полезную информацию!!! Самый мой любимый канал!😍
@Kotovar
@Kotovar 3 ай бұрын
Спасибо) Попробовал все примеры, выглядит потрясающе :)
@user-ml5dv2zm8r
@user-ml5dv2zm8r 3 ай бұрын
Благодарочка, вещай ещё!
@user-ip5oh3tc1l
@user-ip5oh3tc1l 3 ай бұрын
получилось! Спасибо!
@michaelkamko
@michaelkamko 3 ай бұрын
Отдельное спасибо за сайт с примерами. Сэкономит кучу времени.
@kiskashrek263
@kiskashrek263 3 ай бұрын
Супер, спасибо за видео
@biscvie
@biscvie 3 ай бұрын
Спасибо!
@MicroDobb
@MicroDobb 3 ай бұрын
спасибо тебе, добрый человек!
@user-qt3lg3st8f
@user-qt3lg3st8f 3 ай бұрын
Спасибо большое за познавательный контент 😊
@dmitrypoluhin2955
@dmitrypoluhin2955 3 ай бұрын
Спасибо Вам огромное!
@efremtv
@efremtv Ай бұрын
Супер!
@michaelkamko
@michaelkamko 3 ай бұрын
Спасибо за очередной полезнейший видос с прекрасной подачей инфы!
@NeoCoding
@NeoCoding 3 ай бұрын
ох благодарю. мож пригодится
@michaelkamko
@michaelkamko 3 ай бұрын
Скролл анимацию на чистом css я ждал много лет! Наконец-то вместо тормозных js костылей с кучей глюков есть нормальное нативное средства, которого так не хватало! Теперь кайфую, как и многие дизайнеры/верстальшики.
@barmalejZ
@barmalejZ 2 ай бұрын
Будущее наступает)
@draftermyself
@draftermyself 3 ай бұрын
Пока не GSAP конечно, но и проц мой не взорвался как при переходе на многие сайты с WOW-эффектом)
@Ch-ce7ym
@Ch-ce7ym 3 ай бұрын
отличные новости, но будем мы все это юзать через 2-4 года
@Atractiondj
@Atractiondj 3 ай бұрын
Либо в обновлениях в июне либо в декабре будет 92% поддержка
@Sergey_Klimov
@Sergey_Klimov 3 ай бұрын
Ну, вот кстати есть определенные лаги с такой шапкой. Я посмотрел на официальном сайте как там реализована подобная шапка и единственное отличие - position: fixed вместо sticky. Я отслеживаю такую проблему, когда доскролил до середины анимации и при движении мышью шапка как-то подергивается
@AleksanderLamkov
@AleksanderLamkov 3 ай бұрын
Хм. Наверняка временные особенности работы новой технологии. Ещё обкатают и пофиксят рано или поздно.
@Atractiondj
@Atractiondj 3 ай бұрын
При моем опыте работы с этим я заметил пару косяков которые мещают этому стать прям мастхэвом. 1) Для замены анимаций в медиа запросах, необходимо переписать анимацию полностью не только скажем с animation: animate-in linear forwards; на animation: animate-left-in linear forwards. Придется писать все .animate { animation: animate-left-in linear forwards; animation-timeline: view(); animation-range: entry, exit; } 2) Нет поддержки вложенности. Я не могу прописать .animate { animation: animate-left-in linear forwards; animation-timeline: view(); animation-range: entry, exit; &:nth-child(2) {animation-delay: .3s;} &:nth-child(3) {animation-delay: .6s;} &:nth-child(4) {animation-delay: .9s;} &:nth-child(5) {animation-delay: 1.2s;} &:nth-child(6) {animation-delay: 1.5s;} } Придется писать .animate { animation: animate-left-in linear forwards; animation-timeline: view(); animation-range: entry, exit; } .animate:nth-child(2) {animation-delay: .3s;} .animate:nth-child(3) {animation-delay: .6s;} .animate:nth-child(4) {animation-delay: .9s;} .animate:nth-child(5) {animation-delay: 1.2s;} .animate:nth-child(6) {animation-delay: 1.5s;} } Так же функция view не работает как observer в полной мере, что бы по примеру @container я мог обьявить секцию как тригер для начала анимаций всех карточек а не пока конкретная карточка попадет в viewport. Вывод, для некоторых анимаций это стало проще, но для создания библиотеки это не подходит (только малая часть функций)
@AleksanderLamkov
@AleksanderLamkov 3 ай бұрын
Согласен. Годные примеры, спасибо! Но хорошо, что технология в принципе развивается и хотя бы часть задач по нетребовательным анимациям может взять на себя 🙂
@Atractiondj
@Atractiondj 3 ай бұрын
@@AleksanderLamkov Это да, дождемся что бы этого хотя бы поддержку завязли, скорее всего после презентации эпла летом. Обычно так они вводят фишки interop согласно графикам прошлых лет, у сафари резко идет совместимость вверх июнь, июль у Лисы с апреля... может скоро будет хотя бы это
@Atractiondj
@Atractiondj 3 ай бұрын
@@AleksanderLamkov про последнее правка. Сейчас для одной функций перечитывал документацию, оказывается добавили такую штуку timeline-scope которая позволяет как раз таки при обнаружений родительского контейнера запускать анимацию для дочерних элементов
@AlexAlex-bp9il
@AlexAlex-bp9il 3 ай бұрын
Читал где-то про такое. Очень круто конечно, но когда ?? Вот это вопрос -) Всё улучшают, оптимизируют...
@AleksanderLamkov
@AleksanderLamkov 3 ай бұрын
А вот буквально в конце этого года, может даже уже летом, Сафари подтянутся с обновлением и общий процент браузерной поддержки будет достаточно высоким, чтобы использовать все эти фичи в большинстве современных проектов :)
@virtuoz-ru
@virtuoz-ru 3 ай бұрын
Лучший. Благодарю тебя за интересную информацию 👍
@Alexandr_16kz_22rus
@Alexandr_16kz_22rus 3 ай бұрын
Спасибо за контент! Но можно как-то сделать, чтобы элементы появлялись не постепенно, а сразу при скролле (ну т.е. если элемент начинает появляться и скролл остановить, то и анимация остановится, а я про то, чтобы анимация продолжилась) И также как сделать, чтобы при скролле вверх эти элементы не уходили снова?
@AleksanderLamkov
@AleksanderLamkov 3 ай бұрын
Привет! Кажется, что так сделать нельзя 😕 Возможно в будущем какое-то свойство для этого добавят, а пока что в черновиках CSS обсуждение этого вопроса застряло на этом: github.com/w3c/csswg-drafts/issues/7478
@bape155
@bape155 25 күн бұрын
Можешь воспользоваться библиотекой animate.css и wow.js
@AntonioMick
@AntonioMick 3 ай бұрын
Поддержка на IOS полностью отсутствует :( Можно пожалуйста видео как работать со scroll-timeline.js ( он там каким-то волшебным образом проверяет и работает )
@AleksanderLamkov
@AleksanderLamkov 3 ай бұрын
Взял на заметку, спасибо за идею!
@NIkFreedomForce
@NIkFreedomForce 3 ай бұрын
От души!
@Sergey_Klimov
@Sergey_Klimov 3 ай бұрын
Я всю голову сломал как в реакте сделать такую шапку с помощью interseption observer так, чтобы повторный рендеринг не вызывать(((((
@naterivarbeatz5937
@naterivarbeatz5937 3 ай бұрын
Он во всех браузерах поддерживается? Просто я видел он гугл и яндекс вроде как не подерживает
@AleksanderLamkov
@AleksanderLamkov 3 ай бұрын
Пока только в сафари не работает. В остальных современных браузерах работает. К лету-осени этого года вероятно будет везде.
@almannazyrov394
@almannazyrov394 3 ай бұрын
CSS скрол анимации??? 🤯🤯🤯
@biLLie_wiLLie
@biLLie_wiLLie 3 ай бұрын
Safari боль
Ускоряем верстку | Гайд по препроцессору стилей | Sass (SCSS)
27:02
Александр Ламков — Friendly Frontend
Рет қаралды 18 М.
Increíble final 😱
00:37
Juan De Dios Pantoja 2
Рет қаралды 113 МЛН
Фронтенд и моё первое тестовое задание - прожарка, анализ ошибок.
16:53
Александр Ламков — Friendly Frontend
Рет қаралды 13 М.
Learn CSS animations in 15 minutes! 🎬
15:19
Bro Code
Рет қаралды 52 М.
Frontend Roadmap 2024 | Что должен учить фронтенд-разработчик в 2024 году
14:35
Александр Ламков — Friendly Frontend
Рет қаралды 53 М.
JS-решения №12. Базовая анимация при скролле на чистом JS
24:19
MaxGraph - cайты как страсть
Рет қаралды 29 М.
БЭМ методология за 10 минут | Основы для начинающих
10:01
Александр Ламков — Friendly Frontend
Рет қаралды 13 М.