Zum Hauptinhalt springen
Das <ribaunt-widget> verwendet Shadow DOM zur Stil-Kapselung, wodurch externe Stylesheets nicht versehentlich in das Innere des Widgets durchsickern können. Du kannst sein gesamtes Aussehen dennoch anpassen, indem du CSS Custom Properties (Variablen) am Host-Element ribaunt-widget setzt — Shadow DOM erbt diese von außen, sodass deine Überschreibungen sauber durchlaufen.

Schnellstart

Die folgenden vier Variablen reichen für ein minimales dunkles Theme aus:
ribaunt-widget {
  --ribaunt-background: #1e1e1e;
  --ribaunt-border-color: #444;
  --ribaunt-color: #f0f0f0;
  --ribaunt-spinner-color: #f0f0f0;
}

Referenz der CSS-Variablen

VariableStandardBeschreibung
--ribaunt-background#fdfdfdHintergrund des Widget-Containers
--ribaunt-border-color#dddddd8fRahmenfarbe des Widgets
--ribaunt-border-radius14pxRahmenradius des Widgets
--ribaunt-color#212121Textfarbe
--ribaunt-widget-width230pxBreite des Widgets
--ribaunt-widget-height58pxHöhe des Widgets
--ribaunt-widget-padding14pxInnenabstand des Widgets
--ribaunt-gap15pxAbstand zwischen Checkbox und Text
--ribaunt-checkbox-size25pxBreite und Höhe der Checkbox
--ribaunt-checkbox-background#fafafa91Hintergrundfarbe der Checkbox
--ribaunt-checkbox-border1px solid #aaaaaad1Rahmen der Checkbox
--ribaunt-checkbox-border-radius6pxRahmenradius der Checkbox
--ribaunt-checkbox-margin2pxOberer/unterer Abstand der Checkbox
--ribaunt-spinner-color#000Farbe des aktiven Spinner-Segments
--ribaunt-spinner-background-color#eeeFarbe der inaktiven Spinner-Spur
--ribaunt-spinner-thickness5pxStärke des Spinner-Rings
--ribaunt-checkmarkEingebauter grüner HakenURL des SVG für das Erfolgs-Häkchen
--ribaunt-error-crossEingebautes rotes WarnsymbolURL des SVG für das Fehler-Kreuz
--ribaunt-logo-color#666Farbe des Ribaunt-Logos
--ribaunt-fontsystemeigene Sans-SerifSchriftfamilien-Stack

Dunkelmodus

Ribaunt erzwingt keinen automatischen Dunkelmodus. Stattdessen bindest du ihn selbst ein — entweder über eine Media Query, die auf die Systempräferenz reagiert, oder über eine CSS-Klasse, die deine Anwendung steuert.

Mit einer Media Query

@media (prefers-color-scheme: dark) {
  ribaunt-widget {
    --ribaunt-background: #2d2d2d;
    --ribaunt-border-color: #555;
    --ribaunt-color: #ffffff;
    --ribaunt-checkbox-background: #444;
    --ribaunt-spinner-color: #ffffff;
    --ribaunt-spinner-background-color: #333;
    --ribaunt-logo-color: #cccccc;
  }
}

Mit einer CSS-Klasse

Wenn deine App einen eigenen Dunkelmodus-Schalter hat, der einem übergeordneten Element eine Klasse hinzufügt (z. B. <html class="dark">), kannst du die Überschreibungen auf diese Klasse beschränken:
.dark ribaunt-widget {
  --ribaunt-background: #111;
  --ribaunt-color: #eee;
}

Benutzerdefinierte Abmessungen

Du kannst das Widget an dein Formularlayout anpassen, indem du die Abmessungs-Variablen überschreibst. Das folgende Beispiel erstellt eine .large-Variante:
ribaunt-widget.large {
  --ribaunt-widget-width: 300px;
  --ribaunt-widget-height: 72px;
  --ribaunt-checkbox-size: 32px;
}
Standard-CSS-Eigenschaften wie margin, box-shadow und display funktionieren direkt am Host-Element ribaunt-widget, da es sich um ein Inline-Block-Custom-Element handelt. Du brauchst kein Wrapper-<div>, nur um Abstand oder Schatten anzuwenden.