Spec-Zone.ru › CSS

CSS-свойство `view-timeline-name`

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

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

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

Синтаксис

/* Keyword value */
view-timeline-name: none;

/* Custom identifier */
view-timeline-name: --custom_name_for_timeline;

/* Multiple identifiers */
view-timeline-name: --first_timeline_name, --another_timeline_name;

/* Global values */
view-timeline-name: inherit;
view-timeline-name: initial;
view-timeline-name: revert;
view-timeline-name: revert-layer;
view-timeline-name: unset;

Значения

none
Указывает, что у временной шкалы нет имени. Это значение по умолчанию.
<dashed-ident>
Задаёт разделённый запятыми список пользовательских идентификаторов имён типа <dashed-ident>. Все значения <dashed-ident> должны начинаться с --, что помогает избежать конфликтов имён со стандартными ключевыми словами CSS.

Описание

Свойство view-timeline-name используется для задания имени временной шкалы прогресса просмотра. Прогресс временной шкалы прогресса просмотра зависит от изменения видимости элемента, называемого объектом, внутри прокручиваемого элемента, называемого контейнером прокрутки. Свойство view-timeline-name задаётся для объекта. Также можно задать view-timeline-name с помощью сокращённого свойства view-timeline.

Если именованный элемент-контейнер прокрутки объекта не переполняет свой контейнер в измерении оси или если переполнение скрыто либо обрезано, временная шкала прогресса прокрутки не будет создана.

После создания заданные значения имён <dashed-ident> можно использовать в объявлениях animation-timeline, чтобы указать элемент, который будет анимироваться по мере продвижения временной шкалы.

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

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

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

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

Примеры

Создание именованной временной шкалы прогресса просмотра

Временная шкала прогресса просмотра с именем --subject-reveal задаётся с помощью свойства view-timeline-name для элемента-объекта со значением class, равным animation. Затем для того же элемента она устанавливается в качестве временной шкалы с помощью animation-timeline: --subject-reveal;. В результате элемент-объект анимируется, перемещаясь вверх по документу при прокрутке.

HTML

HTML-код примера приведён ниже.

<div class="content">
  <h1>Content</h1>

  <p>
    Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
    tempor incididunt ut labore et dolore magna aliqua. Risus quis varius quam
    quisque id. Et ligula ullamcorper malesuada proin libero nunc consequat
    interdum varius. Elit ullamcorper dignissim cras tincidunt lobortis feugiat
    vivamus at augue.
  </p>

  <p>
    Dolor sed viverra ipsum nunc aliquet. Sed sed risus pretium quam vulputate
    dignissim. Tortor aliquam nulla facilisi cras. A erat nam at lectus urna
    duis convallis convallis. Nibh ipsum consequat nisl vel pretium lectus.
    Sagittis aliquam malesuada bibendum arcu vitae elementum. Malesuada bibendum
    arcu vitae elementum curabitur vitae nunc sed velit.
  </p>

  <div class="subject animation"></div>

  <p>
    Adipiscing enim eu turpis egestas pretium aenean pharetra magna ac. Arcu
    cursus vitae congue mauris rhoncus aenean vel. Sit amet cursus sit amet
    dictum. Augue neque gravida in fermentum et. Gravida rutrum quisque non
    tellus orci ac auctor augue mauris. Risus quis varius quam quisque id diam
    vel quam elementum. Nibh praesent tristique magna sit amet purus gravida
    quis. Duis ultricies lacus sed turpis tincidunt id aliquet. In egestas erat
    imperdiet sed euismod nisi. Eget egestas purus viverra accumsan in nisl nisi
    scelerisque. Netus et malesuada fames ac.
  </p>
</div>

CSS

Для элемента subject и содержащего его элемента content заданы минимальные стили, а тексту заданы основные параметры шрифта:

.subject {
  width: 300px;
  height: 200px;
  margin: 0 auto;
  background-color: deeppink;
}

.content {
  width: 75%;
  max-width: 800px;
  margin: 0 auto;
}

p,
h1 {
  font-family: "Helvetica", "Arial", sans-serif;
}

h1 {
  font-size: 3rem;
}

p {
  font-size: 1.5rem;
  line-height: 1.5;
}

Элемент <div> с классом subject также получает класс animation — именно здесь задаётся view-timeline-name, определяющее именованную временную шкалу прогресса просмотра. Ему также задаётся имя animation-timeline с тем же значением, чтобы указать, что этот элемент будет анимироваться по мере продвижения временной шкалы прогресса просмотра.

Наконец, для элемента задаётся анимация, изменяющая его непрозрачность и масштаб, благодаря чему он плавно проявляется и увеличивается по мере перемещения вверх по контейнеру прокрутки.

.animation {
  view-timeline-name: --subject-reveal;
  animation-timeline: --subject-reveal;

  animation-name: appear;
  animation-fill-mode: both;
  animation-duration: 1ms; /* Firefox requires this to apply the animation */
}

@keyframes appear {
  from {
    opacity: 0;
    transform: scaleX(0);
  }

  to {
    opacity: 1;
    transform: scaleX(1);
  }
}
@layer no-support {
  @supports not (view-timeline-name: none) {
    body::before {
      content: "Your browser doesn't support the `view-timeline-name` property.";
      background-color: wheat;
      display: block;
      text-align: center;
      padding: 1rem 0;
    }
  }
}

Результат

Прокрутите страницу, чтобы увидеть анимацию элемента-объекта.

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

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

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

Настольные Мобильные
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android WebView на iOS
view-timeline-name
115
115
предварительная версия
101
26
115
Нет
77
26
23.0
115
26
none
115
115
предварительная версия
101
26
115
Нет
77
26
23.0
115
26

См. также

  • animation-timeline
  • view-timeline
  • Временные шкалы анимации, управляемой прокруткой
  • Модуль CSS-анимации, управляемой прокруткой
  • Модуль CSS-анимации

© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/view-timeline-name

Spec-Zone.ru

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