🎨 Angular Theming – Dark/Light Mode & Dynamic Styles
(So wird deine App schön UND benutzbar – für alle)
Modernes Angular-Design bedeutet mehr als Farben und Fonts.
Es geht um Dynamik, Zugänglichkeit und User-zentrierte Themes –
Dark Mode? Light Mode? Systemabhängig? Kein Problem.
1️⃣ Warum Theming?
Konsistenz, Branding, UX – all das lebt vom richtigen Designsystem.
- 🌗 Dark Mode für Augenfreundlichkeit
- 🎯 Custom Branding für Kundenprojekte
- 🧩 Reaktive Anpassung für flexible Komponenten
2️⃣ SCSS-Variablen mit CSS Custom Properties
Beispiel:
:root {
--primary-color: #007bff;
--background-color: #ffffff;
}
.dark-mode {
--primary-color: #90caf9;
--background-color: #121212;
}
Nutzung in Komponenten:
button {
background-color: var(--primary-color);
}
3️⃣ ThemeService für Runtime-Wechsel
@Injectable({ providedIn: 'root' })
export class ThemeService {
toggleDarkMode(isDark: boolean) {
document.body.classList.toggle('dark-mode', isDark);
}
}
Integration:
<button (click)="themeService.toggleDarkMode(true)">Dark Mode</button>
4️⃣ System-Themes automatisch erkennen
const prefersDark = window.matchMedia('(prefers-color-scheme: dark)').matches;
themeService.toggleDarkMode(prefersDark);
5️⃣ Angular Material Theming
Angular Material unterstützt Custom Themes nativ:
@include mat-core();
$primary: mat-palette($mat-indigo);
$accent: mat-palette($mat-pink, A200, A100, A400);
$theme: mat-light-theme($primary, $accent);
@include angular-material-theme($theme);
Fazit
🎨 Theming ist nicht nur nice-to-have – es ist ein Statement.
Mit CSS-Variablen, Services und Angular Material wird es mächtig, skalierbar und UX-first.
📚 Nächster Beitrag:
📐 Angular Layouts – Struktur für jede Seitentype
Hast du Fragen oder ein Projekt im Kopf?
Ich freue mich auf deine Nachricht. Lass uns gemeinsam deine Vision verwirklichen!
Jetzt Kontakt aufnehmen