Skip to content

Skeleton

Platzhaltergrafik, die den Platz des Inhalts einnimmt, solange dieser lädt — mit einer schimmernden Animation.

Nimm es, wenn du einen schimmernden Platzhalterbalken brauchst, der den Platz für Inhalt freihält, solange er lädt. Gib dem Elternelement von <r-skeleton> die Maße des echten Inhalts und tausche es aus, sobald die Daten da sind.

Schnellstart

Grundlegende Verwendung

Das Skeleton füllt die Breite seines Elternelements und ist standardmäßig 16px hoch.

html
<r-skeleton></r-skeleton>

Die Breite folgt dem Elternelement

Da das Skeleton width: 100% ist, steuerst du seine Länge über die Größe des Containers, in dem es liegt.

html
<div style="width: 100px">
  <r-skeleton></r-skeleton>
</div>
<div style="width: 200px">
  <r-skeleton></r-skeleton>
</div>
<div style="width: 100%">
  <r-skeleton></r-skeleton>
</div>

Platzhalter stapeln

Setze mehrere Skeletons zusammen, um einen Textblock oder einen Absatz nachzubilden.

html
<div style="display: flex; flex-direction: column; gap: 12px">
  <r-skeleton></r-skeleton>
  <r-skeleton></r-skeleton>
  <r-skeleton></r-skeleton>
</div>

API-Referenz

Eigenschaften

EigenschaftTypStandardBeschreibung
sheetstring''CSS, das für gekapselte Überschreibungen ins Shadow DOM injiziert wird

Eigenes Styling sheet

Übergib über sheet eine CSS-Zeichenkette, um das Aussehen des Skeletons in seinem Shadow DOM zu überschreiben.

html
<r-skeleton sheet=".ran-skeleton { height: 40px; border-radius: 20px; }"></r-skeleton>

CSS-Variablen

Für Theming ohne sheet stellt das Skeleton außerdem CSS-Custom-Properties bereit:

VariableStandardBeschreibung
--ran-skeleton-height16pxHöhe des Platzhalterbalkens
--ran-skeleton-backgroundvar(--ran-gray-alpha-200, …)Grundfarbe ohne Schimmer
--ran-skeleton-border-radiusvar(--ran-radius-sm, 6px)Eckenradius
--ran-skeleton-shimmer-backgroundlinear-gradient(90deg, …)Verlauf des wandernden Glanzes
--ran-skeleton-shimmer-animation-duration1.4sDauer eines Schimmerdurchlaufs
html
<r-skeleton style="--ran-skeleton-height: 32px; --ran-skeleton-border-radius: 16px"></r-skeleton>

Events

Keine. Das Skeleton löst keine eigenen Events aus.

Slots

Keine. Das Skeleton zeichnet nur seinen eigenen Balken und projiziert keinen Slot-Inhalt.

Bewährte Praxis

  • Am Layout ausrichten: Gib dem Elterncontainer solche Maße, dass jedes Skeleton die Breite des echten Inhalts hat, für den es steht.
  • Die Form nachbilden: Stapele mehrere Skeletons mit gleichmäßigen Abständen, um mehrzeiligen Text oder Listenzeilen darzustellen.
  • Über Variablen gestalten: Nimm für einfache Anpassungen die CSS-Variablen --ran-skeleton-*; greife nur dann zu sheet, wenn du Selektoren brauchst, die die Variablen nicht abdecken.
  • Beim Laden austauschen: Ersetze die Skeletons durch echten Inhalt, sobald die Daten eintreffen, statt sie endlos weiteranimieren zu lassen.

Veröffentlicht unter der MIT-Lizenz.