Spec-Zone.ru › CSS

scroll-timeline-name

Ограниченная доступность

Эта функция не относится к Baseline, так как она не работает во всех широко используемых браузерах.

  • Узнать больше
  • Полная совместимость
  • Отправить отзыв

Экспериментально: Это экспериментальная технология
Перед использованием в продакшене внимательно изучите таблицу совместимости с браузерами.

Свойство scroll-timeline-name CSS используется для определения имени именного временного отрезка прокрутки, который продвигается при прокрутке элемента со скроллом (скроллер) сверху вниз (или слева направо). scroll-timeline-name задаётся на скроллере, который будет предоставлять временной отрезок.

Затем имя используется в декларации animation-timeline, чтобы указать элемент контейнера, который используется для управления прогрессом анимации посредством действия прокрутки.

Примечание: Если элемент не выходит за пределы контейнера по оси, или переполнение скрыто или обрезано, временной отрезок не будет создан.

Свойства scroll-timeline-axis и scroll-timeline-name также можно задать с помощью сокращённого свойства scroll-timeline.

Синтаксис

scroll-timeline-name: none;
scroll-timeline-name: --custom_name_for_timeline;

Значения

Допустимые значения для scroll-timeline-name:

none

Временной отрезок не имеет имени.

<dashed-ident>

Произвольный пользовательский идентификатор, определяющий имя для временного отрезка прокрутки, которое затем можно использовать в свойстве animation-timeline.

Примечание: Значения <dashed-ident> должны начинаться с --, что помогает избежать конфликтов имён со стандартными ключевыми словами CSS.

Формальное определение

Начальное значение none
Применяется к контейнерам со скроллом
Наследуется нет
Вычисленное значение none или упорядоченный список идентификаторов
Тип анимации Не анимируемо

Формальный синтаксис

scroll-timeline-name = 
[ none | <dashed-ident> ]#

Примеры

Создание анимации с именным временным отрезком прокрутки

В этом примере временной отрезок прокрутки с именем --squareTimeline определяется с помощью свойства scroll-timeline-name на элементе с ID container. Затем это применяется к анимации на элементе #square с помощью animation-timeline: --squareTimeline.

HTML

HTML для примера показан ниже.

<div id="container">
  <div id="square"></div>
  <div id="stretcher"></div>
</div>

CSS

CSS для контейнера задаёт его как источник временного отрезка прокрутки с именем --squareTimeline с помощью свойства scroll-timeline-name. Ось скролла (ось скролла) здесь не определена, поскольку используется вертикальная ось по умолчанию.

Высота контейнера установлена в 300px, и контейнер также настроен на создание вертикальной полосы прокрутки, если он выходит за пределы контейнера (правило CSS height на элементе stretcher ниже приводит к тому, что содержимое выходит за пределы контейнера).

#container {
  height: 300px;
  overflow-y: scroll;
  scroll-timeline-name: --squareTimeline;
  position: relative;
}

CSS ниже определяет квадрат, который вращается в соответствии со временным отрезком, предоставленным свойством animation-timeline, которое установлено на временной отрезок --squareTimeline с именем выше.

#square {
  background-color: deeppink;
  width: 100px;
  height: 100px;
  margin-top: 100px;
  animation-name: rotateAnimation;
  animation-duration: 1ms; /* Firefox requires this to apply the animation */
  animation-timeline: --squareTimeline;
  position: absolute;
  bottom: 0;
}

#stretcher {
  height: 600px;
  background: #dedede;
}

@keyframes rotateAnimation {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}

Правило CSS stretcher задаёт высоту блока в 600px, что создаёт содержимое, выходящее за пределы контейнера, тем самым создавая полосы прокрутки. Без этого элемента содержимое не выходило бы за пределы контейнера, не было бы полосы прокрутки, а значит, и временного отрезка прокрутки для связи с временным отрезком анимации.

Результат

Прокрутите вертикальную полосу, чтобы увидеть, как квадрат анимируется при прокрутке.

Спецификации

Спецификация
Анимации, управляемые прокруткой
# scroll-timeline-name

Совместимость с браузерами

Рабочий стол Мобильное устройство
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari на IOS Samsung Internet WebView Android
scroll-timeline-name 115 115
111["Синтаксис сокращённого свойства использует фиксированный порядок: имя, а затем ось.", "Правило `@scroll-timeline` заменено на свойства `scroll-timeline-name`, `scroll-timeline-axis` и сокращённое свойство `scroll-timeline`."]
101 Нет 115 Нет 77 Нет 23.0 115

См. также

  • animation-timeline
  • scroll-timeline, scroll-timeline-axis
  • timeline-scope
  • CSS-анимации, управляемые прокруткой

© 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/scroll-timeline-name

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API