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-timelineview-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