Shimmer
Ein Lichtband, das für laufende Zustände über Text streicht, aus der Textfarbe getönt und bei reduzierter Bewegung statisch.
Thinking about your question…
Shimmer ist eine Tailwind-Utility aus dem tailwind.css von shadcn. Das HextaUI-Theme importiert sie bereits, wenn du also das Theme oder eine Komponente hinzugefügt hast, hast du sie.
pnpm dlx shadcn@latest add https://hextaui.com/r/theme.jsonOhne das Theme installiere shadcn und importiere sein CSS nach Tailwind.
pnpm add shadcnNutze ihn für kurzen Text, der laufende Arbeit beschreibt, etwa einen denkenden Assistenten, eine Dateiverarbeitung oder einen laufenden Schritt. Das wandernde Highlight sagt „arbeitet noch“, ohne dass ein Spinner neben den Worten Platz belegt.
Der Text wird per background-clip: text mit einem Verlauf gemalt, und ein helleres Band gleitet darüber. Das Band wird aus der eigenen Farbe des Textes abgeleitet und passt daher ohne Konfiguration zu gedämpftem, Vordergrund- oder farbigem Text und wird im Dark Mode heller, wo ein helleres Band besser wirkt.
- Bei reduzierter Bewegung wird der Verlauf ganz entfernt, und der Text erscheint in seiner normalen Farbe.
- In rechts-nach-links-Layouts kehrt sich der Lauf um und verläuft weiterhin in Leserichtung.
- Der Text bleibt echter Text: markierbar, durchsuchbar und von Screenreadern normal vorgelesen.
Optionen
Tempo, Bandbreite, Farbe und Winkel sind jeweils eine Klasse.
Statusmeldungen
Schimmere, solange eine Aufgabe läuft, und streiche beim Abschluss einmal mit shimmer-once darüber. Ein neuer Key startet den Durchlauf für jeden neuen Schritt neu.
- Halte es bei ein bis zwei Zeilen. Ein schimmernder Absatz ist anstrengend zu lesen.
- Setze den Text in einen
role="status"-Bereich, wenn er sich ändert, damit der neue Schritt angesagt wird. Der Shimmer selbst ist Dekoration. - Für Platzhalterblöcke statt Text nutze Skeleton, das Flächen mit dem
animate-shimmerdes Themes schimmern lässt.
| Klasse | Beschreibung |
|---|---|
shimmer | Streicht alle 2s ein Highlight über den Text. |
shimmer-once | Streicht einmal, statt sich zu wiederholen. |
shimmer-reverse | Streicht in die Gegenrichtung. |
shimmer-none | Schaltet ihn ab, zum Beispiel bei einem Breakpoint. |
shimmer-color-<color> | Farbe des Highlights, aus dem Theme oder beliebig. Nimmt einen Opacity-Modifier. |
shimmer-duration-<ms> | Dauer eines Durchlaufs in Millisekunden. |
shimmer-spread-<number> | Breite des Bands auf der Spacing-Skala oder eine beliebige Länge. Standard ist 3ch + 40px. |
shimmer-angle-<deg> | Neigung des Bands. Standard ist 20°. |