🇬🇧 EN

Glassmorphism UI Library

Vollständige CSS-Komponentenbibliothek im Glasmorphism-Stil – entwickelt von der Jungherz GmbH. Reines CSS, keine Abhängigkeiten, Dark & Light Mode.

v1.6.0 CSS only Dark + Light 24 Komponenten

Installation

Eine CSS-Datei einbinden – fertig. Optional ein Theme-Override für andere Markenfarben.

<!-- Basis-Library --> <link rel="stylesheet" href="glasskit.css"> <!-- Optional: Theme-Override --> <link rel="stylesheet" href="theme-override.css"> <!-- Dark Mode (Standard) --> <html data-theme="dark"> <!-- Light Mode --> <html data-theme="light">

Design Tokens

Alle visuellen Werte werden über CSS Custom Properties gesteuert.

Farbpalette

TokenDark-WertVerwendung
--gl-color-primary#f5a623Primärfarbe, Buttons, aktive Elemente
--gl-color-primary-dark#d4692aGradient-Endwert
--gl-color-text#ffffffStandard-Textfarbe
--gl-color-text-mutedrgba(255,255,255,0.60)Sekundärer Text
--gl-color-success#34c759Erfolg-Status
--gl-color-error#ff3b30Fehler-Status

Glasflächen

TokenWertVerwendung
--gl-surface-1rgba(…, 0.08)Subtilste Fläche (Status)
--gl-surface-2rgba(…, 0.10)Standard (Inputs, Cards)
--gl-surface-3rgba(…, 0.14)Nav-Pills, Badges
--gl-surface-4rgba(…, 0.16)Hover-States
--gl-surface-5rgba(…, 0.22)Starker Hover
--gl-surface-milk-strongrgba(…, 0.75)Secondary Button

Spacing & Radii

TokenWertTokenWert
--gl-space-2xs4px--gl-radius-xs8px
--gl-space-xs8px--gl-radius-sm12px
--gl-space-sm12px--gl-radius-input14px
--gl-space-md16px--gl-radius-btn16px
--gl-space-lg20px--gl-radius-card24px
--gl-space-xl24px--gl-radius-full9999px
--gl-space-2xl32px--gl-radius-pill50%

Theming (Light / Dark)

Das Theme wird über data-theme am <html>-Element gesteuert.

// Theme per JavaScript wechseln: function toggleTheme() { const html = document.documentElement; const current = html.getAttribute('data-theme'); html.setAttribute('data-theme', current === 'dark' ? 'light' : 'dark' ); }

Hintergrund

Der Glaseffekt braucht einen farbigen Hintergrund.

KlasseBeschreibung
.glass-bgVollständiger Hintergrund mit Aurora-Lichteffekten
.glass-bg--has-tab-barModifier: Padding unten für Tab-Bar
.glass-bg--has-tab-bar-floatingModifier: Padding unten für Floating-Tab-Bar + Accessory
<div class="glass-bg glass-bg--has-tab-bar"> <!-- Inhalte --> </div>

Pill-Buttons

Runde Icon-Buttons für Navigation und Aktionen.

KlasseBeschreibung
.glass-pillStandard Glas-Kreis (46×46px)
.glass-theme-togglePill mit Mond/Sonne-Icon-Switch

Tab-Bar

Fixierte Bottom-Navigation mit Glas-Hintergrund und optionalem Badge.

<nav class="glass-tab-bar"> <button class="glass-tab-bar__item is-active"> <span class="glass-tab-bar__icon"><!-- SVG --></span> <span class="glass-tab-bar__label">Start</span> </button> <button class="glass-tab-bar__item"> <span class="glass-tab-bar__icon"> <!-- SVG --> <span class="glass-tab-bar__badge">3</span> </span> <span class="glass-tab-bar__label">Verträge</span> </button> </nav>

Tab-Bar – Floating

Pillenförmige, zentrierte, schwebende Variante im iOS-26-Liquid-Glass-Stil. Optional mit einer eigenständigen .glass-tab-bar__accessory-Kapsel daneben (z. B. Suche, Erstellen) – mit eigenem Glasmaterial. Der aktive Tab erhält einen weichen radialen Spotlight-Halo statt des Punkt-Underlines.

<div class="glass-tab-bar-dock"> <nav class="glass-tab-bar glass-tab-bar--floating"> <button class="glass-tab-bar__item is-active"> <span class="glass-tab-bar__icon"><!-- SVG --></span> <span class="glass-tab-bar__label">Start</span> </button> <!-- weitere Items --> </nav> <button class="glass-tab-bar__accessory" aria-label="Suche"> <!-- SVG --> </button> </div>

Akzent-Varianten für das Accessory

Mit --accent, --success oder --error wird das Accessory farbig untermalt (gefüllter Hintergrund, weißes Icon).

KlasseBeschreibung
.glass-tab-bar-dockWrapper: fest unten zentriert, hält Tab-Bar + Accessory
.glass-tab-bar-dock--accessory-leftModifier: Accessory links statt rechts
.glass-tab-bar--floatingModifier auf .glass-tab-bar: Pillenform, max-content-Breite
.glass-tab-bar__accessoryEigenständige Glas-Kapsel neben der Tab-Bar
.glass-tab-bar__accessory--accentGefüllt mit Primärfarbe
.glass-tab-bar__accessory--successGefüllt mit Success-Farbe
.glass-tab-bar__accessory--errorGefüllt mit Error-Farbe
.glass-bg--has-tab-bar-floatingBackground-Padding-Helper für die Floating-Variante

Titel

Verträge aufnehmen
& hochladen

<h1 class="glass-title">Seitentitel</h1>

Card

Vertrag fotografieren, Kanten prüfen und gesammelt hochladen.

<div class="glass-card glass-card--glow"> <div class="glass-card__icon"><!-- SVG --></div> <p class="glass-card__text">Text</p> </div>
KlasseBeschreibung
.glass-cardBasis-Glasfläche
.glass-card--glowHell → milchig Verlauf + Lichtstreifen
.glass-card__iconZentrierter Icon-Wrapper
.glass-card__textBeschreibungstext

Buttons

KlasseBeschreibung
.glass-btnBasis (56px, volle Breite)
--primaryFarbiger Gradient
--secondaryMilchig-weiß
--tertiarySubtiles Glas
--sm44px Höhe
--lg64px Höhe
--autoAuto-Breite

Badge

Standard Aktiv Fertig Fehler
<span class="glass-badge glass-badge--primary">Aktiv</span>

Avatar

S
M
L
<div class="glass-avatar glass-avatar--lg">L</div>

Divider


<hr class="glass-divider">

Status-Hinweis

Noch keine Verträge vorhanden.

<div class="glass-status"> <svg viewBox="0 0 24 24"><!-- Icon --></svg> <p>Noch keine Verträge vorhanden.</p> </div>

Liste

Gruppierter Settings-Container für gestapelte Zeilen. Items unterstützen ein führendes Icon, Titel + optionalen Untertitel sowie ein Trailing-Element (Chevron, Wert, Button). Trennlinien zwischen Items werden automatisch gezeichnet — kein zusätzliches Markup nötig.

Settings-Stil (Icon + Titel + Untertitel + Trailing)

  • iOS 26.4 Update
    2,1 GB · Jetzt verfügbar
  • Apple One
    Familie — verlängert sich am 28. Apr.
    22,95 €
  • Mitteilungen
  • Alle Abos anzeigen
<ul class="glass-list"> <li class="glass-list__item glass-list__item--interactive"> <span class="glass-list__leading"><svg>...</svg></span> <div class="glass-list__content"> <div class="glass-list__title">iOS 26.4 Update</div> <div class="glass-list__subtitle">2,1 GB · Jetzt verfügbar</div> </div> <div class="glass-list__trailing"><svg>...</svg></div> </li> <!-- Weitere Items… Trennlinien erscheinen automatisch --> <li class="glass-list__item glass-list__item--center">Alle anzeigen</li> </ul>

Kompaktes Menü (zentrierter Text, ohne Icons)

  • Vertrag teilen
  • Duplizieren
  • Löschen
<ul class="glass-list"> <li class="glass-list__item glass-list__item--center glass-list__item--interactive">Vertrag teilen</li> <li class="glass-list__item glass-list__item--center glass-list__item--interactive">Duplizieren</li> <li class="glass-list__item glass-list__item--center glass-list__item--interactive glass-list__item--danger">Löschen</li> </ul>

Gruppierte Sektionen mit großen Icons

Empfehlungen
  • Geladene Medien prüfen
    Spare bis zu 1,38 GB ein. Prüfe alle auf deinem Gerät geladenen Videos und Audiodateien und entferne sie bei Bedarf.
  • AusweisApp Bund
    Version 2.5.1
    24 MB
Hörbücher
  • Der Geist aus der Maschine
    Teilweise angesehen
    237,1 MB
  • Alle Downloads anzeigen
<div class="glass-list__section-header">Empfehlungen</div> <ul class="glass-list"> <li class="glass-list__item glass-list__item--interactive"> <span class="glass-list__leading glass-list__leading--lg"><svg>...</svg></span> <div class="glass-list__content"> <div class="glass-list__title">Geladene Medien prüfen</div> <div class="glass-list__subtitle glass-list__subtitle--wrap">Mehrzeilige Beschreibung...</div> </div> <div class="glass-list__trailing"> <span class="glass-list__value">24 MB</span> <svg>...</svg> </div> </li> <li class="glass-list__item glass-list__item--accent glass-list__item--center">Alle anzeigen</li> </ul>

Klassen-Referenz

KlasseBeschreibung
.glass-listGruppierter Surface-Container
.glass-list--flushEdge-to-Edge-Variante (kein seitlicher Margin / Radius). Setzt voraus, dass der Eltern-Container --gl-space-lg Padding hat.
.glass-list--bareEntfernt Hintergrund, Border & Shadow — für die Einbettung in .glass-popover oder .glass-card.
.glass-list__itemListenzeile (als <li>, <a> oder <button>)
.glass-list__section-headerSektionslabel oberhalb einer .glass-list — Uppercase, klein, gedämpft
.glass-list__item--interactiveFügt Hover- / Focus- / Active-States hinzu
.glass-list__item--centerZentrierte Single-Text-Variante mit Ellipsis-Truncation
.glass-list__item--dangerRoter Text für destruktive Aktionen
.glass-list__item--accentPrimärfarbener Text für Akzent-Aktionen
.glass-list__leadingLeading-Slot (28×28, enthält ein Icon-SVG)
.glass-list__leading--lgGroßer Leading-Slot (40×40, abgerundetes Quadrat, unterstützt <img>)
.glass-list__contentFlexibler mittlerer Slot — nimmt verbleibende Breite, ermöglicht Truncation
.glass-list__titlePrimärer Text (medium weight, ellipsis)
.glass-list__subtitleSekundärer Text (klein, gedämpft, ellipsis)
.glass-list__subtitle--wrapMehrzeiliger Subtitle (bis 3 Zeilen, mit Ellipsis-Clamp)
.glass-list__trailingTrailing-Slot — Chevron, Wert, Button, Badge
.glass-list__valueGedämpfter Text in .glass-list__trailing (z.B. Dateigröße)

Trennlinien zwischen Zeilen werden automatisch via ::after gerendert. Items mit Leading-Icon erhalten einen icon-aligned Inset; Items ohne bekommen ein normales Padding-Inset. Das letzte Item hat nie eine Trennlinie. SVG-Icon-Konvention: 24px für Leading, 18px für Trailing, stroke: currentColor, stroke-width: 2.

Toast

Sichtbar via .is-visible. Varianten: --success, --error, --warning.

Dokument erfolgreich hochgeladen!
<div class="glass-toast glass-toast--success"> <svg class="glass-toast__icon">...</svg> <span class="glass-toast__text">Erfolgreich!</span> </div>

Popover

Verankertes Dropdown- / Menü-Container. Trigger und .glass-popover in einem .glass-popover-anchor verschachteln. Sichtbarkeit wird über die .is-open-Klasse gesteuert — das Umschalten benötigt ein bisschen JavaScript.

  • Teilen
  • Duplizieren
  • Löschen
<div class="glass-popover-anchor"> <button class="glass-btn glass-btn--secondary" onclick="togglePop(this)">Menü öffnen</button> <div class="glass-popover"> <ul class="glass-list glass-list--bare"> <li class="glass-list__item glass-list__item--interactive">Teilen</li> <li class="glass-list__item glass-list__item--interactive">Löschen</li> </ul> </div> </div> <script> // Hinweis: NICHT `togglePopover` benennen — kollidiert mit der nativen // HTMLElement.togglePopover()-API-Methode. function togglePop(btn) { btn.nextElementSibling.classList.toggle('is-open'); } </script>

Klassen-Referenz

KlasseBeschreibung
.glass-popover-anchorPositionierungs-Kontext für den Popover (umschließt Trigger + Popover)
.glass-popoverFloating Glass-Surface, ausgeblendet bis .is-open
.glass-popover.is-openSichtbarer Zustand — Fade- + Scale-Animation
.glass-popover--topÖffnet nach oben (über dem Trigger)
.glass-popover--startLinke Kante am Trigger ausrichten
.glass-popover--endRechte Kante am Trigger ausrichten

Hinweis: die Toggle-Funktion darf nicht togglePopover heißen — dieser Name kollidiert mit der nativen HTMLElement.togglePopover()-Methode der HTML Popover API, und Inline-onclick-Handler werfen einen NotSupportedError.

Input

Bitte gültige E-Mail angeben
<div class="glass-input-group"> <label class="glass-label">Label</label> <input class="glass-input" type="text"> <span class="glass-hint">Hilfetext</span> </div>

Textarea

<textarea class="glass-textarea"></textarea>

Select

<select class="glass-select"> <option>Bitte wählen…</option> </select>

Toggle Switch

<label class="glass-toggle"> <input class="glass-toggle__input" type="checkbox"> <span class="glass-toggle__track"> <span class="glass-toggle__thumb"></span> </span> <span class="glass-toggle__label">Label</span> </label>

Checkbox

Radio Button

Range Slider

75%

Progress Bar

Standard68%
Erfolg100%
KlasseBeschreibung
.glass-progressBasis-Container
--sm / --lgTrack-Höhe: 4px / 12px
--success / --errorFarb-Varianten

Accordion

Die ausführliche Antwort auf diese Frage.
Die Antwort auf Frage zwei.

Utilities

Stack (vertikal)

.gl-stack .gl-stack--xs (8px) .gl-stack--sm (12px) .gl-stack--md (16px) .gl-stack--lg (20px) .gl-stack--xl (24px)

Row (horizontal)

.gl-row .gl-row--xs (8px) .gl-row--sm (12px) .gl-row--md (16px)

Margin Top

.gl-mt-sm (12px) .gl-mt-md (16px) .gl-mt-lg (20px) .gl-mt-xl (24px)

Margin Bottom

.gl-mb-sm (12px) .gl-mb-md (16px) .gl-mb-lg (20px) .gl-mb-xl (24px)

Text

.gl-text-center .gl-text-muted .gl-text-sm

Layout

.gl-px (padding horizontal) .gl-w-full (width: 100%) .gl-flex-1 (flex: 1)

📋 Alle Klassen auf einen Blick

KomponenteKlassenModifier / States
Hintergrund.glass-bg--has-tab-bar
Navigation.glass-nav
Pill-Button.glass-pill
Theme-Toggle.glass-theme-toggle
Titel.glass-title
Card.glass-card--glow
Button.glass-btn--primary, --secondary, --tertiary, --sm, --lg, --auto
Badge.glass-badge--primary, --success, --error
Avatar.glass-avatar--sm, --lg
Divider.glass-divider
Status.glass-status
Liste.glass-list--flush, --bare, __item--interactive, __item--center, __item--danger, __item--accent, __leading--lg, __subtitle--wrap, __value, __section-header
Popover.glass-popover--top, --start, --end, .is-open
Input.glass-input--error, :disabled
Textarea.glass-textarea
Select.glass-select
Suchfeld.glass-search
Toggle.glass-toggle:checked
Checkbox.glass-checkbox:checked
Radio.glass-radio:checked
Range.glass-range
Progress.glass-progress--sm, --lg, --success, --error
Modal.glass-modal-overlay.is-active
Toast.glass-toast--success, --error, --warning, .is-visible
Tab-Bar.glass-tab-bar.is-active auf Items
Tab-Bar Floating.glass-tab-bar-dock + .glass-tab-bar--floating__accessory, __accessory--accent/--success/--error, --accessory-left
Accordion.glass-accordion.is-open auf Items

🤖 KI / LLM-Referenz

GlassKit liefert eine SKILL.md mit – eine strukturierte, maschinenlesbare Komponenten-Referenz für KI-Assistenten, LLMs und Code-Generierungs-Tools.

FeatureBeschreibung
Copy-Paste HTMLAlle 24 Komponenten mit exakter Verschachtelung und BEM-Hierarchie
Design-Token-TabellenFarben, Surfaces, Blur, Radii, Spacing, Shadows, Typography
State-Klassen-Mappingis-active, is-open, is-visible, :checked – wo was hingehört
Composition Patterns6 fertige Seiten-Layouts: Login, Dashboard, Formular, Modal, Einstellungen, Fortschritt
Häufige FehlerTypische Fehler und deren Korrekturen

Anhängen oder referenzieren Sie SKILL.md, wenn Sie eine KI bitten, GlassKit-HTML zu generieren – für produktionsreife Ergebnisse.

# Dateipfad glasskit/SKILL.md # Auch im npm-Paket enthalten npm install @jungherz-de/glasskit node_modules/@jungherz-de/glasskit/SKILL.md