Einbindung
Eine CSS-Datei, ein optionales Skript, eine Schrift. Kein Build-Schritt, kein Paketmanager.
Schnellstart
Im <head> der Seite:
<link rel="stylesheet" href="/assets/trfx-legacy.min.css">
<script src="/assets/theme-init.js"></script>
Vor dem Ende von <body>, falls Reiter, Dialoge, Assistenten oder Designwechsel gebraucht werden:
<script src="/assets/legacy.js" defer></script>
Die Schrift fonts/share-tech-mono.woff2 wird relativ zur CSS-Datei geladen. Die Ordnerstruktur also beibehalten.
Content-Security-Policy. Das Design System nutzt keine Inline-Skripte und keine Inline-Stile. script-src 'self' und style-src 'self' genügen..
Designs wechseln
Ein Design ist ein Wert im Attribut data-theme am <html>-Element. Ohne Attribut gilt luna.
| Wert | Name | Vorbild |
|---|---|---|
luna | Luna Blau | Windows XP |
olive | Olivgrün | Windows XP |
silver | Silber | Windows XP |
classic | Klassisch | Windows 2000 |
platinum | Platinum | Mac OS 9 |
signature | Signature | SAP Signature Theme |
contrast | Hoher Kontrast | Barrierefreiheit |
Mit legacy.js genügt ein Auswahlfeld mit data-lg-theme-select. Die Wahl wird im Browser gespeichert (localStorage, Schlüssel trfx-legacy-theme); theme-init.js setzt sie, bevor die Seite gezeichnet wird. Ohne Speicherzugriff bleibt es beim Standard.
<select class="lg-select" data-lg-theme-select>
<option value="luna">Luna Blau</option>
<option value="classic">Klassisch</option>
</select>
Variablen anpassen
Eigene Werte gehören in eine eigene Datei nach dem Design System. Ein eigenes Design ist ein Block mit demselben Aufbau:
[data-theme="meins"] {
--lg-face: #e8e4d4;
--lg-sel-bg: #7a2e00;
--lg-title-bg: linear-gradient(180deg, #a04000, #7a2e00);
}
Alle nicht genannten Variablen erben vom Standard. Danach prüfen Sie auf der Seite Farben, ob die Kontraste halten.
Namensschema
- Alle Klassen beginnen mit
lg-, damit nichts mit anderem CSS kollidiert. lg-bausteinist die Komponente,lg-baustein__teilein Teil davon,lg-baustein--varianteeine Abwandlung.- Zustände ohne Präfix mit
is-(is-default,is-selected) oder über ARIA (aria-selected,aria-current,aria-pressed). - Variablen heißen
--lg-…. Farben kommen aus den Tokens. Einzige Ausnahme sind die dekorativen Fensterknöpfe.
Dateien
| Datei | Zweck | Größe |
|---|---|---|
trfx-legacy.css | Lesbare Fassung mit Kommentaren | 55 KB |
trfx-legacy.min.css | Minimierte Fassung für den Einsatz | 42 KB |
legacy.js | Optionales Skript: Reiter, Dialoge, Menüs, Assistent, Designwechsel | 10 KB |
theme-init.js | Setzt das gespeicherte Design vor dem ersten Zeichnen | 1 KB |
fonts/share-tech-mono.woff2 | Monospace-Schrift (SIL OFL) | 13 KB |
brand/trfx-legacy-logo.svg | Wortmarke | 3 KB |
brand/trfx-legacy-icon.svg | Icon und Favicon | 3 KB |
Browser
Aktuelle Fassungen von Chrome, Edge, Firefox und Safari (ab 2022). Gebraucht werden <dialog>, :focus-visible, CSS-Variablen und die Eigenschaft inset. Ältere Browser bekommen das Design nicht in voller Pracht, aber lesbare Seiten, weil alles auf semantischem HTML aufsetzt.
Änderungsprotokoll
| Version | Datum | Änderung |
|---|---|---|
1.0.0 | 12.11.2026 | Erstveröffentlichung: sieben Designs, 59 Komponenten, optionales Skript, Testseite mit Dokumentation. |