Übergänge und selbstständig ablaufende Animationen unterscheiden
Mit transition und animation können Änderungen von
CSS-Eigenschaften sichtbar gestaltet werden. Beide Techniken haben jedoch
unterschiedliche Aufgaben und Einsatzbereiche.
Der grundlegende Unterschied
Eine Transition verbindet zwei Zustände miteinander. Sie benötigt deshalb eine
Zustandsänderung, die beispielsweise durch :hover,
:focus-visible oder eine zusätzliche CSS-Klasse ausgelöst wird.
Eine Animation verwendet dagegen eine @keyframes-Regel. Sie kann
mehrere Zwischenschritte enthalten, automatisch starten und beliebig oft
wiederholt werden.
Merkmal
Transition
Animation
Auslöser
Benötigt eine Zustandsänderung
Kann automatisch starten
Zustände
Ăśbergang zwischen Ausgangs- und Zielzustand
Beliebig viele Keyframes möglich
Wiederholung
Nicht direkt vorgesehen
Mit animation-iteration-count
Abspielrichtung
Ergibt sich aus der Zustandsänderung
Mit animation-direction steuerbar
Anhalten
Keine eigene Eigenschaft
Mit animation-play-state
Typischer Einsatz
Buttons, Links, Formulare und Hover-Effekte
Ladeanzeigen, Einblendungen und komplexe Bewegungen
Aktives Beispiel mit transition
Bewege den Mauszeiger ĂĽber den Button. Du kannst ihn auch mit der
Tab-Taste auswählen. Dabei verändern sich Hintergrundfarbe, Schatten
und Position.
Die Animation startet automatisch und wird durch den Wert
infinite unbegrenzt wiederholt.
Wann eignet sich eine Transition?
Eine Transition eignet sich besonders für einfache Zustandsänderungen:
Farbwechsel bei Buttons und Links
Veränderungen bei :hover und :focus-visible
Ă–ffnen und SchlieĂźen von Navigationen
Ein- und Ausblenden von Hinweisen
Verschieben oder Vergrößern von Karten
Änderungen durch hinzugefügte CSS-Klassen
Besteht der Effekt nur aus einem Ausgangs- und einem Zielzustand, ist eine
Transition meistens die einfachere Lösung.
Wann eignet sich eine Animation?
Eine Animation eignet sich fĂĽr komplexere oder automatisch ablaufende Effekte:
Animationen mit mehreren Zwischenschritten
automatisch startende Einblendungen
wiederholte Bewegungen
Ladeanzeigen und Fortschrittsdarstellungen
Pulsieren, Drehen oder Schweben von Elementen
zeitlich aufeinander abgestimmte Abläufe
Werden mehrere Keyframes, Wiederholungen oder unterschiedliche Abspielrichtungen
benötigt, ist eine CSS-Animation besser geeignet.
Die passende Technik auswählen
Vor der Umsetzung kann die Auswahl mit zwei einfachen Fragen getroffen werden:
Soll lediglich weich zwischen zwei Zuständen gewechselt werden? Dann eignet sich
transition.
Soll der Effekt mehrere Schritte durchlaufen, automatisch starten oder
wiederholt werden? Dann eignet sich animation.
Transition und Animation können auf derselben Webseite verwendet werden. Sie
sollten jedoch nicht gleichzeitig dieselbe CSS-Eigenschaft desselben Elements
steuern, da sonst unerwartete Ergebnisse entstehen können.
Animierte Buttons
RĂĽckmeldungen mit Transition und Animation gestalten
Buttons können durch dezente Bewegungen, Farbwechsel und Schatten auf eine
Bedienung reagieren. Die Animation sollte die Funktion unterstĂĽtzen und die
Beschriftung jederzeit gut lesbar lassen.
Farbe und Schatten weich verändern
Bewege den Mauszeiger über den Button oder wähle ihn mit der
Tab-Taste aus. Hintergrundfarbe und Schatten verändern sich
weich.
Das Attribut disabled verhindert eine erneute Betätigung,
solange die Aktion verarbeitet wird.
Eine Ladeanzeige sollte nicht allein verwendet werden. Der zusätzliche
Text „Wird verarbeitet …“ erklärt den Zustand auch ohne sichtbare
Animation.
Reduzierte Bewegung berĂĽcksichtigen
Mit prefers-reduced-motion werden die Bewegungen fĂĽr
Benutzer reduziert, die diese Einstellung in ihrem Betriebssystem
aktiviert haben.