Анимации, управляемые прокруткой CSS
Модуль анимаций, управляемых прокруткой CSS предоставляет функциональность, построенную поверх модуля анимаций CSS и API анимаций Web. Он позволяет анимировать значения свойств, основываясь на прогрессе по временной шкале, управляемой прокруткой, вместо стандартной временной шкалы документа. Это означает, что вы можете анимировать элемент, прокручивая прокручиваемый элемент, а не только со временем.
Существует два типа временных шкал, управляемых прокруткой:
- временная шкала прогресса прокрутки: Вы продвигаете эту временную шкалу, прокручивая прокручиваемый элемент (прокручиватель) сверху вниз (или слева направо) и обратно. Положение в диапазоне прокрутки преобразуется в процент прогресса — 0% в начале и 100% в конце.
- временная шкала прогресса видимости: Вы продвигаете эту временную шкалу, основываясь на изменении видимости элемента (известного как объект) внутри прокручивателя. Видимость объекта внутри прокручивателя отслеживается как процент прогресса — по умолчанию временная шкала находится на 0%, когда объект впервые становится видимым на одном краю прокручивателя, и на 100%, когда он достигает противоположного края.
Когда одна из этих двух временных шкал применяется к анимируемому элементу, анимация продвигается по этой временной шкале вместо стандартной временной шкалы.
Можно настроить эффективное размещение анимации по временным шкалам прогресса прокрутки и прогресса видимости, то есть вы можете определить позицию, в которой начинается и заканчивается анимация. Это можно сделать несколькими способами:
- Можно применить значения диапазона начала и конца анимации к анимации, чтобы настроить положение начальной и конечной позиции анимации по временной шкале.
- К временным шкалам прогресса видимости можно применить начальный и/или конечный отступ (или смещение) для настройки положения области прокрутки (см. Контейнер прокрутки для получения более подробной информации). Другими словами, это позволяет указать начальные и/или конечные значения отступа (или смещения), которые смещают положение самой временной шкалы.
Анимации, управляемые прокруткой, в действии
Вы можете найти несколько инструментов и демо, демонстрирующих анимации, управляемые прокруткой, в действии, по адресу Инструменты и демонстрации анимаций, управляемых прокруткой.
Справочник
Свойства
Установите временную шкалу, которая будет управлять прогрессом анимации, и установите ее диапазон привязки по этой временной шкале:
Определите именованные временные шкалы прогресса прокрутки:
Определите именованные временные шкалы прогресса видимости:
Изменить область действия временной шкалы:
Правила
Анимации, управляемые прокруткой CSS, добавляют возможность включения <timeline-range-name> в блоки @keyframes, чтобы разместить ключевые кадры в определенных позициях внутри именованных диапазонов временных шкал.
Функции
Возможные значения свойства animation-timeline для определения безымянных временных шкал прогресса прокрутки и безымянных временных шкал прогресса видимости (т.е. неявно определенных браузером, а не явно названных и определенных с помощью свойств scroll-timeline-* и view-timeline-*):
Возможности JavaScript
Спецификации
См. также
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_scroll-driven_animations