Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.
animation-duration
Baseline
Widely available
*
This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.
* Some parts of this feature may have varying levels of support.
Die animation-duration CSS Eigenschaft legt die Zeitspanne fest, die eine Animation benötigt, um einen Zyklus zu beenden.
Probieren Sie es aus
animation-duration: 750ms;
animation-duration: 3s;
animation-duration: 0s;
<section class="flex-column" id="default-example">
<div class="animating" id="example-element"></div>
<button id="play-pause">Play</button>
</section>
#example-element {
animation-direction: alternate;
animation-iteration-count: infinite;
animation-name: slide;
animation-play-state: paused;
animation-timing-function: ease-in;
background-color: #1766aa;
border-radius: 50%;
border: 5px solid #333333;
color: white;
height: 150px;
margin: auto;
margin-left: 0;
width: 150px;
}
#example-element.running {
animation-play-state: running;
}
#play-pause {
font-size: 2rem;
}
@keyframes slide {
from {
background-color: orange;
color: black;
margin-left: 0;
}
to {
background-color: orange;
color: black;
margin-left: 80%;
}
}
const el = document.getElementById("example-element");
const button = document.getElementById("play-pause");
button.addEventListener("click", () => {
if (el.classList.contains("running")) {
el.classList.remove("running");
button.textContent = "Play";
} else {
el.classList.add("running");
button.textContent = "Pause";
}
});
Es ist oft praktisch, die Kurzschreibweise animation zu verwenden, um alle Animations-Eigenschaften auf einmal festzulegen.
Syntax
/* Single animation */
animation-duration: auto; /* Default */
animation-duration: 6s;
animation-duration: 120ms;
/* Multiple animations */
animation-duration: 1.64s, 15.22s;
animation-duration: 10s, 35s, 230ms;
/* Global values */
animation-duration: inherit;
animation-duration: initial;
animation-duration: revert;
animation-duration: revert-layer;
animation-duration: unset;
Werte
auto-
Für zeitbasierte Animationen ist
autoäquivalent zu einem Wert von0s(siehe unten). Für CSS scroll-gesteuerte Animationen fülltautodie gesamte Zeitachse mit der Animation. <time>-
Die Zeit, die eine Animation benötigt, um einen Zyklus abzuschließen. Dies kann entweder in Sekunden (
s) oder Millisekunden (ms) angegeben werden. Der Wert muss positiv oder null sein, und die Einheit ist erforderlich.Wenn kein Wert angegeben wird, wird der Standardwert von
0sverwendet, wobei die Animation dennoch ausgeführt wird (dieanimationStartundanimationEndEreignisse werden ausgelöst). Ob eine Animation sichtbar sein wird, wenn die Dauer0sist, hängt vom Wert desanimation-fill-modeab, wie unten erklärt:- Wenn
animation-fill-modeaufbackwardsoderbotheingestellt ist, wird das erste Bild der Animation, wie durchanimation-directiondefiniert, während desanimation-delayCountdowns angezeigt. - Wenn
animation-fill-modeaufforwardsoderbotheingestellt ist, wird nach Ablauf deranimation-delaydas letzte Bild der Animation, wie durchanimation-directiondefiniert, angezeigt. - Wenn
animation-fill-modeaufnoneeingestellt ist, hat die Animation keinen sichtbaren Effekt.
- Wenn
Hinweis:
Negative Werte sind ungültig und führen dazu, dass die Deklaration ignoriert wird. Einige frühe, mit Präfix versehene Implementierungen könnten sie als identisch mit 0s betrachten.
Hinweis:
Wenn Sie mehrere durch Kommas getrennte Werte bei einer animation-* Eigenschaft angeben, werden diese in der Reihenfolge angewendet, in der die animation-names erscheinen. Für Situationen, in denen die Anzahl der Animationen und animation-* Eigenschaftswerte nicht übereinstimmen, siehe Festlegen mehrerer Animations-Eigenschaftswerte.
Hinweis:
Bei der Erstellung von CSS scroll-gesteuerten Animationen macht es nicht wirklich Sinn, einen animation-duration Wert in Sekunden oder Millisekunden anzugeben. In Tests schien es keinen Einfluss auf Scroll-Fortschritt-Zeitachsen-Animationen zu haben, während es bei View-Fortschritt-Zeitachsen-Animationen die Animation näher zum Ende der Zeitachse verschob. Allerdings erfordert Firefox, dass ein animation-duration gesetzt ist, damit die Animation erfolgreich angewendet wird. Es wird daher empfohlen, animation-duration auf 1ms festzulegen, damit die Animationen in Firefox funktionieren, der Effekt jedoch nicht zu sehr beeinflusst wird.
Formale Definition
| Anfangswert | 0s |
|---|---|
| Anwendbar auf | alle Elemente, ::before und ::after Pseudoelemente |
| Vererbt | Nein |
| Berechneter Wert | wie angegeben |
| Animationstyp | Not animatable |
Formale Syntax
animation-duration =
[ auto | <time [0s,∞]> ] #
Beispiele
>Animationsdauer einstellen
Diese Animation hat eine animation-duration von 0,7 Sekunden.
HTML
<div class="box"></div>
CSS
.box {
background-color: rebeccapurple;
border-radius: 10px;
width: 100px;
height: 100px;
}
.box:hover {
animation-name: rotate;
animation-duration: 0.7s;
}
@keyframes rotate {
0% {
transform: rotate(0);
}
100% {
transform: rotate(360deg);
}
}
Ergebnis
Bewegen Sie den Mauszeiger über das Rechteck, um die Animation zu starten.
Für weitere Beispiele siehe CSS-Animationen.
Spezifikationen
| Specification |
|---|
| CSS Animations Level 1> # animation-duration> |
Browser-Kompatibilität
Loading...
Siehe auch
- Verwendung von CSS-Animationen
- JavaScript
AnimationEventAPI - Andere verwandte Animations-Eigenschaften:
animation,animation-composition,animation-delay,animation-direction,animation-fill-mode,animation-iteration-count,animation-name,animation-play-state,animation-timeline,animation-timing-function