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 Zeitachse 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 Beginn der Zeitachse. Dies ist der Standardwert.
<length-percentage>-
Gibt einen Längen- oder Prozentwert an, gemessen ab dem Beginn der Zeitachse.
<timeline-range-name>-
Gibt einen benannten Zeitbereich innerhalb der gesamten Zeitachse an. Der Bereich beginnt bei
0%. <timeline-range-name> <length-percentage>-
Gibt einen Längen- oder Prozentwert an, gemessen ab dem Beginn des angegebenen benannten Zeitbereichs.
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>. Falls der Wert <timeline-range-name> 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 Timeline-Visualisierer für Fortschrittsansichten an, der zeigt, was die verschiedenen Werte in einem visuellen Format bedeuten.
Das animation-range-start ist in der animation Kurzschrift als ein nur zum Zurücksetzen geeigneter Wert enthalten. Dies bedeutet, dass die Verwendung der animation Kurzschrift jeglichen vorher deklarierten animation-range-start Wert von gleicher oder niedrigerer Spezifität auf normal zurücksetzt; die Kurzschrift kann nicht verwendet werden, um einen neuen animation-range-start Wert festzulegen. Beim Erstellen von Scroll-gesteuerten CSS-Animationen sollten Sie animation-range-start nach der Deklaration einer animation Kurzschrift deklarieren, um zu vermeiden, dass der Wert auf normal zurückgesetzt wird.
Das animation-range-start, zusammen mit der animation-range-end Eigenschaft, kann auch mit der animation-range Kurzschrift 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 Fortschritts-Zeitleiste mit Startbereich
In diesem Beispiel wird das animation-range-start auf ein Element angewendet, das über eine Scroll-Fortschrittszeitleiste animiert wird. Dies bewirkt, dass die Animation weit vor dem Eintritt des Elements in den Scrollport beginnt.
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 wird hier der Kürze halber ausgeblendet.
<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 Kurzschrift deklariert, um zu vermeiden, dass der Langwerte betroffen sind.
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 wurden der Kürze halber versteckt.
Ergebnis
Scrollen Sie, um zu sehen, wie das Element animiert. Beachten Sie, dass das Element bereits skaliert und halbtransparent ist, sobald es in den Viewport eintritt. Dies liegt daran, dass das Element bereits animiert wurde, lange bevor es den Viewport betritt.
Spezifikationen
| Specification |
|---|
| Scroll-driven Animations> # animation-range-start> |