animation-range-end
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Die animation-range-end CSS Eigenschaft legt den Punkt auf der Zeitleiste fest, an dem eine Animation enden soll.
Syntax
/* Keyword or length percentage value */
animation-range-end: normal;
animation-range-end: 80%;
animation-range-end: 700px;
/* Named timeline range value */
animation-range-end: cover;
animation-range-end: contain;
animation-range-end: cover 80%;
animation-range-end: contain 700px;
/* Global values */
animation-range-end: inherit;
animation-range-end: initial;
animation-range-end: revert;
animation-range-end: revert-layer;
animation-range-end: unset;
Werte
normal-
Repräsentiert das Ende 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
Die animation-range-end Eigenschaft spezifiziert das Ende des Anwendungsbereichs der Animation. Das Ändern des Endes des Anwendungsbereichs kann potenziell das Ende der Animation verschieben, also den Punkt, an dem Schlüsselbilder auf 100% Fortschritt landen, wenn die Iterationsanzahl 1 ist, und kann auch die effektive Dauer der Animation verkürzen.
Der Eigenschaftswert kann normal, ein <length-percentage>, oder ein <timeline-range-name> mit einem optionalen <length-percentage> sein. Wenn der <timeline-range-name> Wert kein <length-percentage> enthält, beträgt der Standardwert des Prozentsatzes 100%.
Die animation-range-end Eigenschaft ist als nur-zurücksetzbarer Wert in der animation Kurzschrift enthalten. Das bedeutet, dass die Verwendung der animation Kurzschrift einen zuvor deklarierten animation-range-end Wert auf normal zurücksetzt; die Kurzschrift kann nicht verwendet werden, um einen neuen animation-range-end Wert festzulegen. Beim Erstellen von CSS-Scroll-gesteuerten Animationen sollten Sie animation-range-end nach der Deklaration einer animation Kurzschrift deklarieren, um zu vermeiden, dass der Wert auf normal zurückgesetzt wird.
Die Eigenschaft animation-range-end, zusammen mit der animation-range-start Eigenschaft, kann auch durch Verwendung der Kurzschrift animation-range 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-end =
[ normal | <length-percentage> | <timeline-range-name> <length-percentage>? ]#
<length-percentage> =
<length> |
<percentage>
Beispiele
>Erstellen einer Fortschrittszeitleiste mit einem Bereichsende
In diesem Beispiel wird animation-range-end auf ein Element angewendet, das über eine Fortschrittszeitleiste animiert wird. Dadurch erreicht die Animation ihr letztes Schlüsselbild, bevor das Element das Ende seines umgebenden Viewports erreicht.
HTML
In der Mitte eines langen Textblocks haben wir ein Element eingefügt, das wir animieren. 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">
Wir haben auch ein Kontrollkästchen hinzugefügt, das die animation-fill-mode Eigenschaft umschaltet, sodass Sie sehen können, wie diese Eigenschaft Animationen mit verkürzten Zeitleisten beeinflusst.
<label>
<input type="checkbox" /> Add <code>animation-fill-mode: forwards;</code>
</label>
CSS
Wir haben eine Fortschrittszeitleiste definiert, indem wir eine view() Funktion als Wert der animation-timeline Eigenschaft gesetzt haben. Dies wird nach der animation Kurzschrift deklariert, um zu vermeiden, dass der Langformwert zurückgesetzt wird.
Wir haben auch animation-range-end gesetzt, um die Animation früher enden zu lassen als erwartet.
.animatedElement {
background-color: deeppink;
animation: appear 1ms linear;
animation-timeline: view();
animation-range-end: exit 25%;
}
@keyframes appear {
from {
background-color: rebeccapurple;
opacity: 0;
transform: scaleX(0);
}
to {
background-color: darkturquoise;
opacity: 0.75;
transform: scaleX(0.75);
}
}
Wenn das Kontrollkästchen aktiviert ist, wird die animation-fill-mode Eigenschaft auf das animierte Element angewendet:
:has(:checked) .animatedElement {
animation-fill-mode: forwards;
}
Die anderen in diesem Beispiel angewendeten Stile wurden hier der Kürze halber ausgeblendet.
Ergebnis
Scrollen Sie, um das Element zu animieren. Schalten Sie dann das Kontrollkästchen am Ende des Textblocks um und scrollen Sie erneut. Beachten Sie, wie das Element die Animation beendet, wenn es 75% durch den Viewport ist und wie es in seinen Standardzustand zurückkehrt, wenn die animation-fill-mode Eigenschaft nicht angewendet wird.
Spezifikationen
| Specification |
|---|
| Scroll-driven Animations> # animation-range-end> |