CSS -Tutorial

CSS-Startseite CSS-Einführung CSS-Syntax CSS-Selektoren CSS-Anleitung CSS-Kommentare CSS-Farben CSS-Hintergründe CSS-Grenzen CSS-Ränder CSS-Padding CSS-Höhe/Breite CSS-Box-Modell CSS-Gliederung CSS-Text CSS-Schriftarten CSS-Icons CSS-Links CSS-Listen CSS-Tabellen CSS-Anzeige CSS Max-Breite CSS-Position CSS Z-Index CSS-Überlauf CSS-Float CSS Inline-Block CSS-Ausrichtung CSS-Kombinatoren CSS Pseudo-Klasse CSS Pseudo-Element CSS-Opazität CSS-Navigationsleiste CSS-Dropdowns CSS-Bildergalerie CSS-Bild-Sprites CSS-Attribut-Selektoren CSS-Formulare CSS-Zähler CSS-Website-Layout CSS-Einheiten CSS-Spezifität CSS !wichtig CSS-Mathematikfunktionen

CSS-Erweitert

Abgerundete CSS-Ecken CSS-Randbilder CSS-Hintergründe CSS-Farben CSS-Farbschlüsselwörter CSS-Verläufe CSS-Schatten CSS-Texteffekte CSS-Webfonts CSS-2D-Transformationen CSS-3D-Transformationen CSS-Übergänge CSS-Animationen CSS-Tooltips Bilder im CSS-Stil CSS-Bildreflexion CSS-Objektanpassung CSS-Objektposition CSS-Maskierung CSS-Schaltflächen CSS-Paginierung CSS mehrere Spalten CSS-Benutzeroberfläche CSS-Variablen Größe von CSS-Boxen CSS-Medienabfragen CSS MQ-Beispiele CSS-Flexbox

CSS- responsiv

RWD-Einführung RWD-Ansichtsfenster RWD-Rasteransicht RWD-Medienabfragen RWD-Bilder RWD-Videos RWD-Frameworks RWD-Vorlagen

CSS -Raster

Grid-Einführung Grid-Container Rasterelement

CSS -SASS

SASS-Tutorial

CSS- Beispiele

CSS-Vorlagen CSS-Beispiele CSS-Quiz CSS-Übungen CSS-Zertifikat

CSS- Referenzen

CSS-Referenz CSS-Selektoren CSS-Funktionen CSS-Referenz Aural CSS-websichere Schriftarten CSS animierbar CSS-Einheiten CSS PX-EM-Konverter CSS-Farben CSS-Farbwerte CSS-Standardwerte CSS-Browser-Unterstützung

CSS- Animationen


CSS-Animationen

CSS ermöglicht die Animation von HTML-Elementen ohne Verwendung von JavaScript oder Flash!

CSS

In diesem Kapitel lernen Sie folgende Eigenschaften kennen:

  • @keyframes
  • animation-name
  • animation-duration
  • animation-delay
  • animation-iteration-count
  • animation-direction
  • animation-timing-function
  • animation-fill-mode
  • animation

Browserunterstützung für Animationen

Die Zahlen in der Tabelle geben die erste Browserversion an, die die Eigenschaft vollständig unterstützt.

Property
@keyframes 43.0 10.0 16.0 9.0 30.0
animation-name 43.0 10.0 16.0 9.0 30.0
animation-duration 43.0 10.0 16.0 9.0 30.0
animation-delay 43.0 10.0 16.0 9.0 30.0
animation-iteration-count 43.0 10.0 16.0 9.0 30.0
animation-direction 43.0 10.0 16.0 9.0 30.0
animation-timing-function 43.0 10.0 16.0 9.0 30.0
animation-fill-mode 43.0 10.0 16.0 9.0 30.0
animation 43.0 10.0 16.0 9.0 30.0

Was sind CSS-Animationen?

Eine Animation lässt ein Element allmählich von einem Stil in einen anderen wechseln.

Sie können so viele CSS-Eigenschaften beliebig oft ändern, wie Sie möchten.

Um die CSS-Animation zu verwenden, müssen Sie zunächst einige Keyframes für die Animation angeben.

Keyframes halten fest, welche Stile das Element zu bestimmten Zeiten haben wird.


Die @keyframes-Regel

Wenn Sie CSS-Stile innerhalb der @keyframes Regel angeben, ändert sich die Animation zu bestimmten Zeiten allmählich vom aktuellen Stil zum neuen Stil.

Damit eine Animation funktioniert, müssen Sie die Animation an ein Element binden.

Das folgende Beispiel bindet die „example“-Animation an das <div>-Element. Die Animation dauert 4 Sekunden und ändert allmählich die Hintergrundfarbe des <div>-Elements von „rot“ zu „gelb“:

Beispiel

/* The animation code */
@keyframes example {
  from {background-color: red;}
  to {background-color: yellow;}
}

/* The element to apply the animation to */
div {
  width: 100px;
  height: 100px;
  background-color: red;
  animation-name: example;
  animation-duration: 4s;
}

Hinweis: Die animation-durationEigenschaft definiert, wie lange es dauern soll, bis eine Animation abgeschlossen ist. Wenn die animation-durationEigenschaft nicht angegeben ist, erfolgt keine Animation, da der Standardwert 0s (0 Sekunden) ist. 

Im obigen Beispiel haben wir angegeben, wann sich der Stil ändern wird, indem wir die Schlüsselwörter „von“ und „bis“ verwendet haben (was 0 % (Anfang) und 100 % (abgeschlossen) darstellt).

Es ist auch möglich, Prozente zu verwenden. Durch die Verwendung von Prozent können Sie beliebig viele Stiländerungen hinzufügen.

Das folgende Beispiel ändert die Hintergrundfarbe des <div>-Elements, wenn die Animation zu 25 % abgeschlossen ist, zu 50 % abgeschlossen ist und erneut, wenn die Animation zu 100 % abgeschlossen ist:

Beispiel

/* The animation code */
@keyframes example {
  0%   {background-color: red;}
  25%  {background-color: yellow;}
  50%  {background-color: blue;}
  100% {background-color: green;}
}

/* The element to apply the animation to */
div {
  width: 100px;
  height: 100px;
  background-color: red;
  animation-name: example;
  animation-duration: 4s;
}

Das folgende Beispiel ändert sowohl die Hintergrundfarbe als auch die Position des <div>-Elements, wenn die Animation zu 25 % abgeschlossen ist, zu 50 % abgeschlossen ist und erneut, wenn die Animation zu 100 % abgeschlossen ist:

Beispiel

/* The animation code */
@keyframes example {
  0%   {background-color:red; left:0px; top:0px;}
  25%  {background-color:yellow; left:200px; top:0px;}
  50%  {background-color:blue; left:200px; top:200px;}
  75%  {background-color:green; left:0px; top:200px;}
  100% {background-color:red; left:0px; top:0px;}
}

/* The element to apply the animation to */
div {
  width: 100px;
  height: 100px;
  position: relative;
  background-color: red;
  animation-name: example;
  animation-duration: 4s;
}


Verzögern Sie eine Animation

Die animation-delayEigenschaft gibt eine Verzögerung für den Start einer Animation an.

Das folgende Beispiel hat eine Verzögerung von 2 Sekunden, bevor die Animation gestartet wird:

Beispiel

div {
  width: 100px;
  height: 100px;
  position: relative;
  background-color: red;
  animation-name: example;
  animation-duration: 4s;
  animation-delay: 2s;
}

Auch negative Werte sind erlaubt. Wenn Sie negative Werte verwenden, beginnt die Animation so, als ob sie bereits N Sekunden lang abgespielt worden wäre.

Im folgenden Beispiel beginnt die Animation so, als ob sie bereits 2 Sekunden lang abgespielt worden wäre:

Beispiel

div {
  width: 100px;
  height: 100px;
  position: relative;
  background-color: red;
  animation-name: example;
  animation-duration: 4s;
  animation-delay: -2s;
}

Legen Sie fest, wie oft eine Animation ausgeführt werden soll

Die animation-iteration-countEigenschaft gibt an, wie oft eine Animation ausgeführt werden soll.

Im folgenden Beispiel wird die Animation dreimal ausgeführt, bevor sie stoppt:

Beispiel

div {
  width: 100px;
  height: 100px;
  position: relative;
  background-color: red;
  animation-name: example;
  animation-duration: 4s;
  animation-iteration-count: 3;
}

Das folgende Beispiel verwendet den Wert "infinite", um die Animation endlos fortzusetzen:

Beispiel

div {
  width: 100px;
  height: 100px;
  position: relative;
  background-color: red;
  animation-name: example;
  animation-duration: 4s;
  animation-iteration-count: infinite;
}

Animation in umgekehrter Richtung oder in alternativen Zyklen ausführen

Die animation-directionEigenschaft gibt an, ob eine Animation vorwärts, rückwärts oder abwechselnd abgespielt werden soll.

Die Eigenschaft animation-direction kann die folgenden Werte haben:

  • normal- Die Animation wird normal abgespielt (vorwärts). Dies ist Standard
  • reverse - Die Animation wird in umgekehrter Richtung (rückwärts) abgespielt
  • alternate - Die Animation wird zuerst vorwärts abgespielt, dann rückwärts
  • alternate-reverse - Die Animation wird zuerst rückwärts, dann vorwärts abgespielt

Im folgenden Beispiel wird die Animation in umgekehrter Richtung (rückwärts) ausgeführt:

Beispiel

div {
  width: 100px;
  height: 100px;
  position: relative;
  background-color: red;
  animation-name: example;
  animation-duration: 4s;
  animation-direction: reverse;
}

Das folgende Beispiel verwendet den Wert "alternate", um die Animation zuerst vorwärts und dann rückwärts laufen zu lassen:

Beispiel

div {
  width: 100px;
  height: 100px;
  position: relative;
  background-color: red;
  animation-name: example;
  animation-duration: 4s;
  animation-iteration-count: 2;
  animation-direction: alternate;
}

Das folgende Beispiel verwendet den Wert "alternate-reverse", um die Animation zuerst rückwärts und dann vorwärts laufen zu lassen:

Beispiel

div {
  width: 100px;
  height: 100px;
  position: relative;
  background-color: red;
  animation-name: example;
  animation-duration: 4s;
  animation-iteration-count: 2;
  animation-direction: alternate-reverse;
}

Geben Sie die Geschwindigkeitskurve der Animation an

Die animation-timing-functionEigenschaft gibt den Geschwindigkeitsverlauf der Animation an.

Die Eigenschaft animation-timing-function kann die folgenden Werte haben:

  • ease - Gibt eine Animation mit einem langsamen Start, dann schnell und dann langsamem Ende an (dies ist die Standardeinstellung)
  • linear - Gibt eine Animation mit der gleichen Geschwindigkeit von Anfang bis Ende an
  • ease-in - Gibt eine Animation mit langsamem Start an
  • ease-out - Gibt eine Animation mit einem langsamen Ende an
  • ease-in-out - Gibt eine Animation mit langsamem Start und Ende an
  • cubic-bezier(n,n,n,n)- Lässt Sie Ihre eigenen Werte in einer kubischen Bezier-Funktion definieren

Das folgende Beispiel zeigt einige der verschiedenen Geschwindigkeitskurven, die verwendet werden können:

Beispiel

#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;}

Geben Sie den Füllmodus für eine Animation an

CSS-Animationen wirken sich nicht auf ein Element aus, bevor der erste Keyframe wiedergegeben wird oder nachdem der letzte Keyframe wiedergegeben wird. Die Eigenschaft animation-fill-mode kann dieses Verhalten überschreiben.

Die animation-fill-modeEigenschaft gibt einen Stil für das Zielelement an, wenn die Animation nicht abgespielt wird (bevor sie beginnt, nachdem sie endet oder beides).

Die Eigenschaft animation-fill-mode kann die folgenden Werte haben:

  • none- Standardwert. Die Animation wendet vor oder nach der Ausführung keine Stile auf das Element an
  • forwards- Das Element behält die Stilwerte, die durch das letzte Schlüsselbild festgelegt wurden (abhängig von der Animationsrichtung und der Anzahl der Animationsiterationen)
  • backwards- Das Element erhält die Stilwerte, die vom ersten Schlüsselbild festgelegt werden (abhängig von der Animationsrichtung), und behält diese während der Animationsverzögerungszeit bei
  • both- Die Animation folgt den Regeln für vorwärts und rückwärts und erweitert die Animationseigenschaften in beide Richtungen

Im folgenden Beispiel behält das <div>-Element die Stilwerte des letzten Keyframes bei, wenn die Animation endet:

Beispiel

div {
  width: 100px;
  height: 100px;
  background: red;
  position: relative;
  animation-name: example;
  animation-duration: 3s;
  animation-fill-mode: forwards;
}

Im folgenden Beispiel erhält das <div>-Element die vom ersten Schlüsselbild festgelegten Stilwerte, bevor die Animation beginnt (während der Animationsverzögerung):

Beispiel

div {
  width: 100px;
  height: 100px;
  background: red;
  position: relative;
  animation-name: example;
  animation-duration: 3s;
  animation-delay: 2s;
  animation-fill-mode: backwards;
}

Im folgenden Beispiel erhält das <div>-Element die vom ersten Schlüsselbild festgelegten Stilwerte, bevor die Animation beginnt, und behält die Stilwerte vom letzten Schlüsselbild bei, wenn die Animation endet:

Beispiel

div {
  width: 100px;
  height: 100px;
  background: red;
  position: relative;
  animation-name: example;
  animation-duration: 3s;
  animation-delay: 2s;
  animation-fill-mode: both;
}

Animations-Kurzschrift-Eigenschaft

Das folgende Beispiel verwendet sechs der Animationseigenschaften:

Beispiel

div {
  animation-name: example;
  animation-duration: 5s;
  animation-timing-function: linear;
  animation-delay: 2s;
  animation-iteration-count: infinite;
  animation-direction: alternate;
}

Derselbe Animationseffekt wie oben kann durch Verwendung der Kurzschrifteigenschaft erzielt werden animation:

Beispiel

div {
  animation: example 5s linear 2s infinite alternate;
}

Testen Sie sich mit Übungen

Übung:

Fügen Sie eine 2-Sekunden-Animation für das <div>-Element hinzu, die die Farbe von Rot zu Blau ändert. Nennen Sie die Animation "Beispiel".

<style>
div {
  width: 100px;
  height: 100px;
  background-color: red;
  animation-name: ;
  : 2s;
}

@keyframes example {
  from {: red;}
  to {: blue;}
}
</style>

<body>
  <div>This is a div</div>
</body>


CSS-Animationseigenschaften

Die folgende Tabelle listet die @keyframes-Regel und alle CSS-Animationseigenschaften auf:

Property Description
@keyframes Specifies the animation code
animation A shorthand property for setting all the animation properties
animation-delay Specifies a delay for the start of an animation
animation-direction Specifies whether an animation should be played forwards, backwards or in alternate cycles
animation-duration Specifies how long time an animation should take to complete one cycle
animation-fill-mode Specifies a style for the element when the animation is not playing (before it starts, after it ends, or both)
animation-iteration-count Specifies the number of times an animation should be played
animation-name Specifies the name of the @keyframes animation
animation-play-state Specifies whether the animation is running or paused
animation-timing-function Specifies the speed curve of the animation