animation-range-start CSS property
Baseline
2026
Neu verfügbar
Seit April 2026 funktioniert diese Funktion auf aktuellen Geräten und in aktuellen Browserversionen. Auf älteren Geräten oder in älteren Browsern funktioniert sie möglicherweise nicht.
Die animation-range-start CSS-Eigenschaft legt den Zeitpunkt auf der Zeitleiste fest, an dem eine Animation beginnen soll.
Syntax
/* 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 Beginn der Zeitleiste. Dies ist der Standardwert.
<length-percentage>-
Gibt einen Längen- oder Prozentwert an, gemessen vom Beginn der Zeitleiste.
<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, gemessen vom Beginn des angegebenen benannten Zeitleistenbereichs.
Beschreibung
Erlaubte 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. Sehen Sie sich auch den View progress timeline visualizer an, der die Bedeutung der verschiedenen Werte in einem leicht verständlichen visuellen Format zeigt.
Das animation-range-start ist in der animation Shorthand als reiner Rücksetzungswert enthalten. Das bedeutet, dass durch die Verwendung der animation Shorthand jeder zuvor deklarierte animation-range-start-Wert gleicher oder geringerer Spezifität auf normal zurückgesetzt wird; die Shorthand kann nicht verwendet werden, um einen neuen animation-range-start-Wert festzulegen. Beim Erstellen von CSS scroll-gesteuerten Animationen sollten Sie animation-range-start nach jeder animation Shorthand deklarieren, um zu vermeiden, dass der Wert auf normal zurückgesetzt wird.
Das animation-range-start kann zusammen mit der animation-range-end-Eigenschaft auch mittels der animation-range Shorthand festgelegt werden.
Formale Definition
| Anfangswert | normal |
|---|---|
| Anwendbar auf | alle Elemente |
| Vererbt | Nein |
| Prozentwerte | Relative to the specified named timeline range if specified, otherwise relative to the entire timeline |
| Berechneter Wert | A list where each item may be 'normal', a length percentage, or a timeline range name and a length percentage |
| Animationstyp | Not animatable |
Formale Syntax
animation-range-start =
[ normal | <length-percentage> | <timeline-range-name> <length-percentage>? ]#
<length-percentage> =
<length> |
<percentage>
Beispiele
>Erstellen einer Scroll-Fortschrittszeitleiste mit Range-Start
In diesem Beispiel wird das animation-range-start auf ein Element angewendet, das über eine Scroll-Fortschrittszeitleiste animiert wird. Dadurch beginnt die Animation schon lange bevor das Element den Viewport betritt.
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 überflutet; der zusätzliche Text ist hier zur Kürze versteckt.
<div class="animatedElement"></div>
CSS
Eine Scroll-Fortschrittszeitleiste wird definiert, indem eine scroll() Funktion als Wert der animation-timeline Eigenschaft gesetzt wird. Diese wird nach der animation Shorthand deklariert, um zu vermeiden, dass der Longhand-Wert zurückgesetzt wird.
Wir haben auch animation-range-start gesetzt, um die Animation früher als erwartet beginnen zu lassen.
.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 angewandte Stile sind hier aus Kürze verborgen.
Ergebnis
Scrollen Sie, um das animierte Element zu sehen. Beachten Sie, wie das Element bereits skaliert und halbtransparent ist, wenn es den Viewport betritt. Dies liegt daran, dass das Element bereits animiert wurde, bevor es den Viewport betrat.
Spezifikationen
| Spezifikation |
|---|
| Scroll-driven Animations> # animation-range-start> |