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 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 Bereich auf 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
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 Wert <timeline-range-name> keinen <length-percentage> enthält, ist der Standardprozentsatz 0%. Siehe animation-range für eine detaillierte Beschreibung der verfügbaren Werte. Werfen Sie auch einen Blick auf den View progress timeline visualizer, der erklärt, was die verschiedenen Werte in einem leicht verständlichen visuellen Format bedeuten.
Das animation-range-start ist Teil der animation Shorthand als nur-Rücksetz-Wert. Dies bedeutet, dass die Verwendung des animation Shorthands jeden zuvor deklarierten animation-range-start Wert gleicher oder niedrigerer Spezifität auf normal zurücksetzt; das 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 der Deklaration eines animation Shorthands erklären, 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 dem animation-range Shorthand 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
>Erstellen einer Scroll-View-Fortschrittszeitleiste mit Range-Start
In diesem Beispiel wird animation-range-start auf ein Element angewendet, das über eine Scroll-Fortschrittszeitleiste animiert wird. Dadurch beginnt die Animation schon bevor das Element den Sichtbereich 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 überschreitet; der zusätzliche Text wurde hier aus Gründen der Kürze verborgen.
<div class="animatedElement"></div>
CSS
Eine Scroll-Fortschrittszeitleiste wird definiert, indem eine scroll() Funktion als Wert der animation-timeline Eigenschaft gesetzt wird. Dies wird nach der animation Shorthand erklärt, um zu vermeiden, dass der longhand Eigenschaftswert 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 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 in den Sichtbereich eintritt. Das liegt daran, dass das Element schon weit vor dem Eintritt in den Sichtbereich zu animieren begann.
Spezifikationen
| Specification |
|---|
| Scroll-driven Animations> # animation-range-start> |