Files
web7sys/public/css/variables.css
ben7sys 2881c1200d Das CSS-Variables-System wurde erfolgreich überarbeitet und implementiert. Die wichtigsten Verbesserungen sind:
Konsistentes Spacing-System:
Mathematische Skala basierend auf --space-unit (0.25rem)
Logische Abstufungen von xxs bis xxxl
Responsive Anpassungen über Container-Padding und Section-Spacing
Erweiterte Typografie-Kontrolle:
Skalierbare Schriftgrößen basierend auf --font-size-base
Definierte Schriftgewichte und Zeilenhöhen
Responsive Anpassungen der Basis-Schriftgröße
Verbesserte Responsive-Struktur:
Breakpoint-Referenzen in Variablen
Automatische Anpassungen durch CSS-Variablen
Safe-Area-Insets für moderne Geräte
Layout-System:
Definierte Content-Breiten
Z-Index-Skala
Einheitliche Border-Radius-Werte
Performance-Optimierungen:
Hardware-beschleunigte Transitionen
Optimierte Animation-Timings
Konsistente Transition-Eigenschaften
Die Migration wurde schrittweise durchgeführt:

variables.css: Neue Basis-Variablen definiert
base.css: Grundlegende Typografie und Layout angepasst
header.css & header-line.css: Navigation und Header-Elemente optimiert
components.css: Alle Komponenten auf neue Variablen umgestellt
responsive.css: Breakpoint-spezifische Anpassungen implementiert
animations.css: Animationen vereinheitlicht
footer.css: Footer-Styles optimiert
Das neue System bietet:

Bessere Wartbarkeit durch zentrale Steuerung
Konsistente Skalierung über alle Breakpoints
Flexibilität für zukünftige Anpassungen
Volle Kompatibilität mit dem Theme-System
2024-11-17 12:28:20 +01:00

140 lines
4.2 KiB
CSS

/* Base Theme Variables */
:root {
/* Breakpoints - for reference only, not used as variables */
--breakpoint-mobile-sm: 320px;
--breakpoint-mobile: 480px;
--breakpoint-tablet: 768px;
--breakpoint-desktop: 1200px;
/* Spacing Scale */
--space-unit: 0.25rem;
--space-xxs: calc(var(--space-unit) * 1); /* 0.25rem */
--space-xs: calc(var(--space-unit) * 2); /* 0.5rem */
--space-sm: calc(var(--space-unit) * 3); /* 0.75rem */
--space-md: calc(var(--space-unit) * 4); /* 1rem */
--space-lg: calc(var(--space-unit) * 6); /* 1.5rem */
--space-xl: calc(var(--space-unit) * 8); /* 2rem */
--space-xxl: calc(var(--space-unit) * 12); /* 3rem */
--space-xxxl: calc(var(--space-unit) * 16); /* 4rem */
/* Typography Scale */
--font-size-base: 1rem;
--font-size-xs: calc(var(--font-size-base) * 0.75); /* 12px */
--font-size-sm: calc(var(--font-size-base) * 0.875); /* 14px */
--font-size-md: var(--font-size-base); /* 16px */
--font-size-lg: calc(var(--font-size-base) * 1.25); /* 20px */
--font-size-xl: calc(var(--font-size-base) * 1.5); /* 24px */
--font-size-xxl: calc(var(--font-size-base) * 2); /* 32px */
--font-size-xxxl: calc(var(--font-size-base) * 2.5); /* 40px */
/* Line Heights */
--line-height-tight: 1.2;
--line-height-base: 1.6;
--line-height-relaxed: 1.8;
/* Font Weights */
--font-weight-light: 300;
--font-weight-normal: 400;
--font-weight-medium: 500;
--font-weight-semibold: 600;
--font-weight-bold: 700;
/* Layout */
--container-padding: var(--space-md);
--section-spacing: var(--space-xxl);
--header-height: 100px;
--content-width-sm: 640px;
--content-width-md: 768px;
--content-width-lg: 1024px;
--content-width-xl: 1200px;
/* Border Radius */
--radius-sm: 4px;
--radius-md: 8px;
--radius-lg: 16px;
--radius-pill: 9999px;
/* Transitions */
--transition-speed: 0.3s;
--transition-timing: ease;
--theme-transition: color var(--transition-speed) var(--transition-timing),
background-color var(--transition-speed) var(--transition-timing);
/* Light Theme Colors (default) */
--primary: #3a7be0;
--primary-gradient-1: #112fcf;
--primary-gradient-2: #3b3bc8;
--primary-gradient-3: #5743ed;
--primary-gradient-4: #784dd9;
--bg-main: #f8f8f8;
--bg-card: #f1f1f1;
--text: #333333;
--text-muted: #666666;
--header-gradient-1: rgba(237, 237, 237, 0.9);
--header-gradient-2: rgba(228, 228, 228, 0.9);
--border-color: rgba(58, 123, 224, 0.1);
--bg-hover-rgb: 237, 237, 237;
--bg-hover-nav: 207, 207, 207;
/* Z-index Scale */
--z-below: -1;
--z-normal: 1;
--z-above: 10;
--z-header: 100;
--z-modal: 1000;
}
/* Dark Theme */
[data-theme="dark"] {
--bg-main: #0a0a0a;
--bg-card: #141414;
--text: #e0e0e0;
--text-muted: #888888;
--header-gradient-1: rgba(14, 14, 14, 0.9);
--header-gradient-2: rgba(41, 41, 41, 0.9);
--bg-hover-rgb: 17, 17, 17;
--bg-hover-nav: 20, 20, 20;
}
/* Responsive Adjustments */
@media (max-width: 768px) {
:root {
/* Tablet Adjustments */
--font-size-base: 0.9375rem;
--header-height: 80px;
--container-padding: var(--space-lg);
--section-spacing: var(--space-xl);
}
}
@media (max-width: 480px) {
:root {
/* Mobile Adjustments */
--font-size-base: 0.875rem;
--header-height: 70px;
--container-padding: var(--space-md);
--section-spacing: var(--space-lg);
}
}
@media (max-width: 320px) {
:root {
/* Small Mobile Adjustments */
--font-size-base: 0.8125rem;
--header-height: 60px;
--container-padding: var(--space-sm);
--section-spacing: var(--space-md);
}
}
/* Safe Area Insets for Notched Devices */
@supports (padding: max(0px)) {
:root {
--safe-area-inset-top: max(0px, env(safe-area-inset-top));
--safe-area-inset-right: max(0px, env(safe-area-inset-right));
--safe-area-inset-bottom: max(0px, env(safe-area-inset-bottom));
--safe-area-inset-left: max(0px, env(safe-area-inset-left));
}
}