Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

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

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

Anfangswertnormal
Anwendbar aufalle Elemente
VererbtNein
ProzentwerteRelative to the specified named timeline range if specified, otherwise relative to the entire timeline
Berechneter WertA list where each item may be 'normal', a length percentage, or a timeline range name and a length percentage
AnimationstypNot 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.

html
<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.

css
.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

Browser-Kompatibilität

Siehe auch