Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

scroll-timeline-name CSS property

Eingeschränkt verfügbar

Diese Funktion ist nicht Baseline, da sie in einigen der am weitesten verbreiteten Browser nicht funktioniert.

Want more browser support for this feature? Tell us why.

Die CSS-Eigenschaft scroll-timeline-name wird verwendet, um den Namen einer benannten Scroll-Fortschritts-Zeitleiste zu definieren.

Syntax

css
/* Keyword value */
scroll-timeline-name: none;

/* Named timeline */
scroll-timeline-name: --custom_name_for_timeline;

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

Werte

Diese Eigenschaft wird als einer der folgenden Werte angegeben:

none

Die Zeitleiste hat keinen Namen.

<dashed-ident>

Ein beliebiger benutzerdefinierter Bezeichner, der einen Namen für eine Scroll-Fortschritts-Zeitleiste definiert, auf den anschließend in einer animation-timeline-Eigenschaft verwiesen werden kann.

Beschreibung

Die Eigenschaft scroll-timeline-name wird verwendet, um den Namen einer benannten Scroll-Fortschritts-Zeitleiste zu definieren, die durch das Scrollen eines scrollbaren Elements (scroller) zwischen oben und unten (oder links und rechts) durchlaufen wird.

Legen Sie die Eigenschaft scroll-timeline-name auf dem Scroller fest, der die Zeitleiste bereitstellt. Auf den Namen wird dann in einer animation-timeline-Deklaration verwiesen, um das Element des Containers anzugeben, das verwendet wird, um den Fortschritt der Animation durch die Scrollaktion anzutreiben.

Wenn das Element seinen Container in der Achsendimension nicht überläuft oder wenn der Überlauf verborgen oder abgeschnitten ist, wird keine Zeitleiste erstellt.

scroll-timeline-name kann zusammen mit der Eigenschaft scroll-timeline-axis auch mithilfe der Kurzform scroll-timeline festgelegt werden.

Formale Definition

Anfangswertnone
Anwendbar aufScrollcontainer
VererbtNein
Berechneter Wertnone or an ordered list of identifiers
AnimationstypNot animatable

Formale Syntax

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

Beispiele

Erstellen einer benannten Scroll-Fortschritts-Zeitleistenanimation

In diesem Beispiel wird mithilfe der Eigenschaft scroll-timeline-name auf dem Element mit der ID container eine Scroll-Zeitleiste namens --square-timeline definiert. Diese wird dann mithilfe von animation-timeline: --square-timeline auf die Animation des Elements #square angewendet.

HTML

Das HTML für das Beispiel wird unten gezeigt.

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

CSS

Das CSS für den Container legt ihn mithilfe der Eigenschaft scroll-timeline-name als Quelle einer Scroll-Zeitleiste namens --square-timeline fest. Hier wird keine Scrollbar-Achse definiert, da standardmäßig die vertikale Achse verwendet wird.

Die Höhe des Containers wird auf 300px gesetzt, und der Container wird außerdem so festgelegt, dass er bei Überlauf eine vertikale Scrollbar erstellt (die CSS-Regel height für das unten stehende Element stretcher sorgt dafür, dass der Inhalt seinen Container überläuft).

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

Das folgende CSS definiert ein Quadrat, das sich entsprechend der von der Eigenschaft animation-timeline bereitgestellten Zeitleiste dreht, welche auf die oben benannte Zeitleiste --square-timeline gesetzt ist.

css
#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: --square-timeline;
  position: absolute;
  bottom: 0;
}

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

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

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

Die CSS-Regel stretcher setzt die Blockhöhe auf 600px, wodurch Inhalt erstellt wird, der das Container-Element überläuft und dadurch Scrollbars erzeugt. Ohne dieses Element würde der Inhalt den Container nicht überlaufen, es gäbe keine Scrollbar und somit keine Scroll-Zeitleiste, die der Animations-Zeitleiste zugeordnet werden könnte.

Ergebnis

Scrollen Sie die vertikale Leiste, um zu sehen, wie das Quadrat beim Scrollen animiert wird.

Spezifikationen

Spezifikation
Scroll-driven Animations
# scroll-timeline-name

Browser-Kompatibilität

Siehe auch