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

View in English Always switch to English

animation-range-start

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Die animation-range-start CSS Eigenschaft legt den Punkt auf der Zeitleiste fest, an dem eine Animation starten soll.

Syntax

css
/* Keyword or length percentage value */
animation-range-start: normal;
animation-range-start: 20%;
animation-range-start: 100px;

/* Named timeline range value */
animation-range-start: cover;
animation-range-start: contain;
animation-range-start: cover 20%;
animation-range-start: contain 100px;

/* Global values */
animation-range-start: inherit;
animation-range-start: initial;
animation-range-start: revert;
animation-range-start: revert-layer;
animation-range-start: unset;

Werte

normal

Repräsentiert den Anfang der Zeitleiste. Dies ist der Standardwert.

<length-percentage>

Gibt einen Längen- oder Prozentwert an, der vom Anfang der Zeitleiste gemessen wird.

<timeline-range-name>

Gibt einen benannten Zeitleistenbereich innerhalb der gesamten Zeitleiste an. Der Bereich beginnt bei 0%.

<timeline-range-name> <length-percentage>

Gibt einen Längen- oder Prozentwert an, der vom Anfang des angegebenen benannten Zeitleistenbereichs gemessen wird.

Beschreibung

Zulässige Werte für die animation-range-start Eigenschaft sind normal, ein <length-percentage>, ein <timeline-range-name> oder ein <timeline-range-name> gefolgt von einem <length-percentage>. Wenn der <timeline-range-name> Wert keinen <length-percentage> enthält, beträgt der Standardprozentsatz 0%. Siehe animation-range für eine detaillierte Beschreibung der verfügbaren Werte. Schauen Sie sich auch den Visualisierer für den Fortschritt der Zeitleiste an, der die Bedeutung der verschiedenen Werte in einem leicht verständlichen visuellen Format zeigt.

Die animation-range-start ist im animation Kurzschreibweise als ein nur zum Zurücksetzen verwendeter Wert enthalten. Das bedeutet, dass die Verwendung der animation Kurzschreibweise jeden zuvor deklarierten animation-range-start Wert gleicher oder geringerer Spezifität auf normal zurücksetzt; die Kurzschreibweise kann nicht verwendet werden, um einen neuen animation-range-start Wert zu setzen. Bei der Erstellung von CSS Scroll-gesteuerten Animationen sollten Sie animation-range-start nach der Deklaration einer animation Kurzschreibweise deklarieren, um zu vermeiden, dass der Wert auf normal zurückgesetzt wird.

Die animation-range-start, zusammen mit der animation-range-end Eigenschaft, kann auch mit dem animation-range Kurzschreibweise gesetzt werden.

Formale Definition

Anfangswertnormal
Anwendbar aufalle Elemente
VererbtNein
ProzentwerteRelative to the specified named timeline range if specified, otherwise relative to the entire timeline
Berechneter WertA list where each item may be 'normal', a length percentage, or a timeline range name and a length percentage
AnimationstypNot animatable

Formale Syntax

animation-range-start = 
[ normal | <length-percentage> | <timeline-range-name> <length-percentage>? ]#

<length-percentage> =
<length> |
<percentage>

Beispiele

Erstellung einer Scrollansicht-Fortschrittszeitleiste mit Bereichsstart

In diesem Beispiel wird die animation-range-start auf ein Element angewendet, das über eine Scrollfortschrittszeitleiste animiert wird. Dadurch startet die Animation, bevor das Element den Scrollport erreicht.

HTML

In der Mitte eines langen Textblocks haben wir ein Element eingefügt, das wir animieren werden. Wir haben viel Text hinzugefügt, um sicherzustellen, dass der Inhalt seinen Container überläuft; der zusätzliche Text ist hier aus Gründen der Kürze verborgen.

html
<div class="animatedElement"></div>

CSS

Eine Scrollfortschrittszeitleiste wird definiert, indem eine scroll() Funktion als Wert der animation-timeline Eigenschaft gesetzt wird. Dies wird nach der animation Kurzschreibweise deklariert, um zu vermeiden, dass der Langhandswert zurückgesetzt wird.

Wir haben auch animation-range-start gesetzt, um die Animation früher als erwartet starten zu lassen.

css
.animatedElement {
  background-color: deeppink;

  animation: appear 1ms linear;

  animation-timeline: scroll();
  animation-range-start: -25%;
}

@keyframes appear {
  from {
    background-color: rebeccapurple;
    opacity: 0;
    transform: scaleX(0);
  }

  to {
    background-color: darkturquoise;
    opacity: 0.75;
    transform: scaleX(0.75);
  }
}

Andere in diesem Beispiel angewendete Stile wurden hier aus Gründen der Kürze verborgen.

Ergebnis

Scrollen Sie, um zu sehen, wie das Element animiert wird. Beachten Sie, wie das Element bereits skaliert und halbtransparent ist, wenn es den Ansichtsbereich betritt. Dies liegt daran, dass das Element bereits animiert wurde, bevor es den Ansichtsbereich betrat.

Spezifikationen

Specification
Scroll-driven Animations
# animation-range-start

Browser-Kompatibilität

Siehe auch