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
/* 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
| 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
>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.
<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.
.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> |