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 Zeitleiste 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 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

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

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

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

Browser-Kompatibilität

Siehe auch