Die Eigenschaft animation-timing-function definiert, wie die Animation über die Dauer jedes Zyklus und nicht über die gesamte Animation verläuft.
Es kann die folgenden Werte haben:
- ease - (voreingestellt) die Animation beginnt langsam, wird dann schneller und endet langsam.
- ease-in - die Animation startet langsam, beschleunigt sich aber am Ende und stoppt abrupt.
- ease-out - die Animation hat einen schnellen Start, verlangsamt sich aber am Ende.
- ease-in-out - die Animation hat sowohl einen langsamen Start als auch ein langsames Ende.
- step-start- gleich 1, Start.
- step-end- gleich 1, Ende.
- linear - die Animation hat während der gesamten Animation die gleiche Geschwindigkeit; oft wird sie am besten für Farb- oder Deckkraftänderungen verwendet.
- steps(int,start|end)- spezifiziert eine Schrittfunktion mit zwei Parametern. Der erste Parameter gibt die Anzahl der Intervalle in der Funktion an. Der zweite Parameter ist entweder der Wert "start" oder "end", und gibt den Punkt an, an dem die Änderung der Werte innerhalb des Intervalls stattfindet. Wenn der zweite Parameter nicht angewendet wird, wird der Wert "end" angegeben.
- cubic-bezier (n,n,n,n) - es definiert Ihre eigenen Werte in der cubic-bezier-Funktion. Mögliche Werte sind Zahlenwerte von 0 bis 1.
Anfangswert | ease |
Gilt für | Alle Elemente. Es gilt für die Pseudo-Elemente ::before und ::after. |
Geerbt | Nein |
Animierbar | Nein |
Version | CSS3 |
DOM Syntax | object.style.animationTimingFunction = "linear"; |
Syntax
animation-timing-function: linear | ease | ease-in | ease-out | ease-in-out | step-start | step-end | steps(int,start|end) | cubic-bezier(n,n,n,n) |initial | inherit;
Beispiel
<!DOCTYPE html>
<html>
<head>
<title>Der Titel des Dokuments</title>
<style>
div {
width: 100px;
height: 100px;
border-radius: 50%;
background: #1c87c9;
position: relative;
-webkit-animation: element 5s infinite; /* Safari 4.0 - 8.0 */
-webkit-animation-timing-function: ease; /* Safari 4.0 - 8.0 */
animation: element 5s infinite;
animation-timing-function: ease;
}
/* Safari 4.0 - 8.0 */
@-webkit-keyframes element {
from {left: 0px;}
to {left: 200px;}
}
@keyframes element {
from {left: 0px;}
to {left: 200px;}
}
</style>
</head>
<body>
<h2>Beispiel für animation-timing-function</h2>
<div></div>
</body>
</html>
Ein anderes Beispiel mit dem Wert "ease-in".
Beispiel
<!DOCTYPE html>
<html>
<head>
<style>
div {
width: 100px;
height: 100px;
background: #8ebf42;
position: relative;
-webkit-animation: element 7s infinite; /* Safari 4.0 - 8.0 */
-webkit-animation-timing-function: ease-in; /* Safari 4.0 - 8.0 */
animation: element 7s infinite;
animation-timing-function: ease-in;
}
/* Safari 4.0 - 8.0 */
@-webkit-keyframes element {
from {left: 0px;}
to {left: 200px;}
}
@keyframes element {
from {left: 0px;}
to {left: 200px;}
}
</style>
</head>
<body>
<h1>Die Eigenschaft animation-timing-function</h1>
<div></div>
</body>
</html>
Sehen wir uns ein Beispiel an, in dem verschiedene Werte von timing function dargestellt sind.
Beispiel
<!DOCTYPE html>
<html>
<head>
<style>
div {
width: 100px;
height: 100px;
border-radius: 50%;
background: #1c87c9;
color: #eee;
font-weight: bold;
position: relative;
text-align: center;
padding: 8px;
-webkit-animation: mymove 5s infinite; /* Safari 4.0 - 8.0 */
animation: mymove 5s infinite;
}
/* Safari 4.0 - 8.0 */
#div1 {-webkit-animation-timing-function: linear;}
#div2 {-webkit-animation-timing-function: ease;}
#div3 {-webkit-animation-timing-function: ease-in;}
#div4 {-webkit-animation-timing-function: ease-out;}
#div5 {-webkit-animation-timing-function: ease-in-out;}
#div1 {animation-timing-function: linear;}
#div2 {animation-timing-function: ease;}
#div3 {animation-timing-function: ease-in;}
#div4 {animation-timing-function: ease-out;}
#div5 {animation-timing-function: ease-in-out;}
/* Safari 4.0 - 8.0 */
@-webkit-keyframes mymove {
from {left: 0px;}
to {left: 300px;}
}
@keyframes mymove {
from {left: 0px;}
to {left: 300px;}
}
</style>
</head>
<body>
<h2>Beispiel für animation-timing-function</h2>
<div id="div1">linear</div>
<div id="div2">ease</div>
<div id="div3">ease-in</div>
<div id="div4">ease-out</div>
<div id="div5">ease-in-out</div>
</body>
</html>
Werte
Wert | Beschreibung |
---|---|
ease | Die Animation beginnt langsam, wird dann schneller und endet langsam. Das ist der Standardwert. |
linear | Die Animation startet mit der gleichen Geschwindigkeit. |
ease-in | Die Animation startet langsam, beschleunigt sich aber am Ende und stoppt abrupt. |
ease-out | Die Animation hat einen schnellen Start, verlangsamt sich aber am Ende. |
ease-in-out | Die Animation hat sowohl einen langsamen Start als auch ein langsames Ende. |
step-start | gleich 1, Start. |
step-end | gleich 1, Ende. |
steps(int,start|end) | Es definiert eine Schrittfunktion mit zwei Parametern. Der erste Parameter gibt die Anzahl der Intervalle in der Funktion an. Der zweite Parameter ist entweder der Wert "start" oder "end", und gibt den Punkt an, an dem die Änderung der Werte innerhalb des Intervalls stattfindet. Wenn der zweite Parameter nicht angewendet wird, wird der Wert "end" angegeben. |
cubic-bezier (n,n,n,n) | Es definiert Ihre eigenen Werte in der cubic-bezier-Funktion. Mögliche Werte sind Zahlenwerte von 0 bis 1. |
initial | Es setzt die Eigenschaft auf den Standardwert. |
inherit | Es erbt die Eigenschaft von ihrem übergeordneten Element. |
Browser-Support
43.0+ 4.0-42.0 -webkit- |
16.0+ 5.0-15.0 -moz- |
9.0+ 5.1-8.0 -webkit- |
12.0+ 15.0-29.0 -webkit- |
Übe dein Wissen
Was sind die verschiedenen CSS Animation Timing-Funktionen, die in dem gegebenen Artikel erwähnt werden?
Richtig!
Falsch!