fade ·
slide ·
fly ·
scale ·
draw ·
animate
Svelte bietet eingebaute Animationen und Übergänge, die einfach zu verwenden und hochperformant sind. Diese Cheatsheet fasst die wichtigsten Direktiven und Techniken für flüssige Benutzererfahrungen zusammen.
Transitionen werden beim Ein- und Ausblenden von Elementen (z.B. mit {#if}) aktiviert. Svelte bietet mehrere eingebaute Transitionen: fade, slide, fly, scale und draw.
| Transition | Beschreibung | Parameter |
|---|---|---|
| fade | Ein-/Ausblenden (Opacity) | duration, delay |
| slide | Vertikales Ein-/Ausfahren | duration, delay, axis |
| fly | Fliegen von einer Position | duration, delay, x, y, opacity |
| scale | Skalieren (Größe ändern) | duration, delay, start |
| draw | SVG-Pfad zeichnen | duration, delay, speed |
in:transition und out:transition separat. Die Transition wird automatisch angewendet, wenn das Element in den DOM eingefügt oder daraus entfernt wird.
in und out ermöglichen es, separate Animationen für das Einfügen (in) und Entfernen (out) eines Elements zu definieren. Die Direktive transition verwendet dieselbe Animation für beide Fälle.
in und out Animationen geben Ihnen maximale Kontrolle – z.B. ein sanftes Einblenden und ein dynamisches Herausfliegen für eine ansprechende UX.
Custom Transitionen ermöglichen es, eigene Animationen mit JavaScript oder CSS zu definieren. Sie haben volle Kontrolle über den Animationsverlauf.
<style> definieren und mit transition:css einbinden. Die JS-Transition bietet maximale Flexibilität für komplexe Effekte.
Keyframes mit use:animate ermöglichen die Verwendung von CSS-Keyframe-Animationen in Svelte-Komponenten – ideal für wiederkehrende Animationen wie Lade-Spinner oder Puls-Effekte.
animate:flip animiert Änderungen in Listen – beim Hinzufügen, Entfernen oder Neuanordnen von Elementen. Es ist eine der leistungsstärksten Funktionen von Svelte für dynamische Listen.
animate:flip ist eine stabile Key-Funktion wichtig – die Elemente müssen eindeutig identifizierbar sein (z.B. mit item.id). Die Animation wird dann automatisch beim Hinzufügen, Entfernen oder Neuanordnen ausgeführt.
Motion bietet erweiterte Animationen mit tweened (geglättete Wertänderungen) und spring (physikbasierte Animationen) – perfekt für flüssige Übergänge in Zahlen, Positionen oder Skalierungen.
spring erzeugt natürliche, physikbasierte Animationen – ideal für UI-Interaktionen wie Drag & Drop oder Scroll-Effekte. tweened ist perfekt für kontrollierte, gleichmäßige Übergänge (z.B. Fortschrittsbalken).
fade
fly
scale
draw
flip
transition:fade={ {duration: 500} } ·
in:fade out:fly ·
animate:flip