Dies ist eine alte Version des Dokuments!
CSS Transitions (Wiederholung)
CSS Transitions kennen Sie bereits aus früheren Lerneinheiten. Diese Seite fasst das Wichtigste zusammen.
Was ist eine Transition?
Eine Transition animiert den Wechsel einer CSS-Eigenschaft von einem Zustand in einen anderen. Sie benötigt immer einen Auslöser – zum Beispiel einen Hover-Effekt oder das Hinzufügen einer CSS-Klasse per JavaScript.
.panel { height: 0; opacity: 0; overflow: hidden; transition: all 300ms ease-in; } .panel.open { height: auto; opacity: 1; }
Sobald die Klasse open per JavaScript hinzugefügt oder entfernt wird, animiert der Browser den Übergang automatisch.
Die transition-Eigenschaft
| Eigenschaft | Beispielwert | Bedeutung |
|---|---|---|
transition-property | all, opacity, transform | Welche Eigenschaft animiert wird |
transition-duration | 300ms, 0.5s | Wie lange die Animation dauert |
transition-timing-function | ease, ease-in, ease-out, linear | Beschleunigungskurve |
transition-delay | 0s, 0.1s | Verzögerung vor dem Start |
Kurzschreibweise:
/* transition: Eigenschaft Dauer Easing Delay */ transition: opacity 300ms ease-in 0s; /* Mehrere Eigenschaften mit Komma trennen */ transition: opacity 300ms ease, transform 300ms ease; /* all animiert alle veränderten Eigenschaften gleichzeitig */ transition: all 300ms ease-in;
height: auto animieren
CSS kann normalerweise nicht von einer fixen Höhe zu height: auto animieren, weil auto kein numerischer Wert ist. Mit einer zusätzlichen CSS-Zeile auf :root können wir heute korrekt animieren:
/* In main.css, einmalig für das gesamte Projekt */ :root { interpolate-size: allow-keywords; }
Danach funktioniert die Transition auf height: auto in modernen Browsern direkt:
.description { height: 0; overflow: hidden; transition: height 300ms ease; } .description.sichtbar { height: auto; /* jetzt animierbar! */ }
Transition vs. @keyframes
| CSS Transition | CSS @keyframes Animation | |
|---|---|---|
| Auslöser | Benötigt einen Zustandswechsel | Läuft eigenständig, kein Auslöser nötig |
| Zustände | Von einem Zustand zum nächsten | Beliebig viele Zwischenschritte (0 % bis 100 %) |
| Wiederholungen | Nicht vorgesehen | infinite, alternate, beliebige Wiederholungen |
| Geeignet für | Hover-Effekte, Auf-/Zuklappen | Ladeanimationen, Einblend-Effekte, Dekorationen |
Auf der nächsten Seite lernen Sie CSS Nesting kennen – eine Syntax, die Ihren CSS-Code übersichtlicher macht und in den Aufgaben 3 und 4 durchgehend verwendet wird.