Il Problema di Scala del CSS
Il CSS inizia semplice ma diventa ingovernabile alla scala. Le decisioni di architettura prese all'inizio hanno un impatto massiccio sulla manutenibilità. Ecco come gestiamo il CSS in grandi codebase.
Il Sistema dei Token di Design
I token di design sono la fonte unica di verità per il tuo design visivo. Essi astraggono via i valori raw in nomi significativi.
:root {
--color-primary-500: #6366f1;
--space-1: 0.25rem;
--space-4: 1rem;
--text-base: 1rem;
--shadow-md: 0 4px 6px rgba(0, 0, 0, 0.07);
--transition-fast: 150ms ease;
}
[data-theme="dark"] {
--color-primary-500: #818cf8;
}Architettura CSS dei Componenti
Usa i CSS Modules o Tailwind per stili scritti per componenti. Evita il CSS globale tranne per i token di design e i reset.
/* Button.module.css */
.button {
display: inline-flex;
padding: var(--space-2) var(--space-4);
border-radius: var(--radius-lg);
transition: all var(--transition-fast);
}
.primary { background: var(--color-primary-500); color: white; }
.secondary { background: transparent; border: 1px solid var(--color-primary-500); }Pratiche Raccomandate
- Mantieni la specificità bassa — evita la nidificazione oltre i 2 livelli
- Animazione trasformazione e opacità solo per prestazioni 60fps
- Rispetta prefers-reduced-motion per accessibilità
- Monitora la dimensione del pacchetto CSS — il CSS non utilizzato è peso morto
- Usa proprietà logiche (margin-inline) per supporto RTL
Conclusione
Una buona architettura CSS è sulla consistenza e le restrizioni. Token di design + CSS utility-first + stili dei componenti è una formula provata per la scala.