Logo TemaScuro TemaScuro
Codice CSS con variabili custom ben organizzate per la gestione dei temi

CSS Custom Properties: Gestione Variabili per Temi Efficienti

Usa le variabili CSS per gestire colori, spaziature e font. Un sistema pulito, manutenibile e che rende il passaggio tra temi istantaneo e affidabile.

10 min Intermedio Aprile 2026
Matteo Rossi

Matteo Rossi

Senior Frontend Architect

Architetto frontend con 14 anni di esperienza, specializzato in dark mode implementazione e design systems accessibili per web italiano.

Perché le Custom Properties Cambiano il Gioco

Le variabili CSS non sono solo una comodità — sono fondamentali quando costruisci sistemi di tema duali. Invece di scrivere colori specifici in centinaia di selettori, definisci una volta e riusi ovunque.

Immagina di dover cambiare il blu primario da un’intera applicazione. Senza variabili? Cerca e sostituisci in decine di file. Con le custom properties? Modifica una sola linea nel tuo `:root` e il cambiamento si propaga istantaneamente. Non c’√® niente di pi√π elegante.

Il vantaggio reale: Mantienibilit√†. Quando il designer dice “questo grigio non funziona in dark mode”, tu non rientri in panico. Aggiusti una variabile e il sito intero si adatta.

Schermata di codice CSS mostrando variabili custom organizzate gerarchicamente con colori per tema

Strutturare le Tue Variabili in Modo Intelligente

Diagramma di una gerarchia di variabili CSS con strati per colori, spaziature, tipografia e ombreggiature

Non puoi buttare le variabili a caso nel tuo CSS e sperare che funzioni. Hai bisogno di una struttura logica. Pensa a layer: colori di base, colori di ruolo (primario, secondario, successo, errore), e poi valori semantici.

Ad esempio, invece di `–color-button-bg`, usa `–color-primary` per il ruolo generico. Poi, in light mode, `–color-primary` √® `#2563eb`. In dark mode? `#60a5fa`. Semplice.

  • Variabili di base: colori grezzi senza significato
  • Variabili di ruolo: colori per azioni (primario, errore, avvertenza)
  • Variabili semantiche: colori per componenti specifici

Nota importante: Questo articolo fornisce linee guida educative su CSS custom properties e best practices di tema. Le implementazioni specifiche variano in base alla complessità del progetto, ai browser supportati e alle preferenze del team. Consulta la documentazione MDN e gli standard WCAG per conformità completa.

Implementazione Pratica: Dal Concetto al Codice

Ecco come iniziare. Scrivi il tuo `:root` con variabili per light mode. Poi, all’interno di una media query `prefers-color-scheme: dark`, riscrivi solo le variabili che cambiano. Il resto eredita automaticamente.

Struttura base:

:root {
–color-bg: #ffffff;
–color-text: #0f172a;
–color-primary: #2563eb;
}

@media (prefers-color-scheme: dark) {
:root {
–color-bg: #0f172a;
–color-text: #f1f5f9;
–color-primary: #60a5fa;
}
}

Poi nei tuoi selettori, usi solo `var(–color-bg)` e `var(–color-text)`. Niente hardcoding di colori. Pulito, manutenibile, e il tema cambia automaticamente in base alla preferenza del sistema.

Finestra di browser split con light mode a sinistra e dark mode a destra, mostrando lo stesso componente con colori diversi

Evita Questi Errori Comuni

Developer che osserva uno schermo con errori di contrasto evidenziati, text visibility problems, accessibility tools aperte

Primo errore? Mescolare variabili e colori hardcoded. Se usi `–color-primary` da una parte e `#2563eb` da un’altra, il tuo sistema di tema si spezza. Sii rigoroso: o usi variabili dappertutto, o non usarle.

Secondo errore: non testare il contrasto. Una variabile che funziona in light mode potrebbe avere un contrasto insufficiente in dark mode. Usa strumenti come WebAIM o il color contrast checker per verificare che ogni coppia colore-sfondo raggiunga almeno AA secondo WCAG.

Terzo errore: dimenticare i fallback. Non tutti i browser supportano le custom properties allo stesso modo (anche se ormai √® raro). Aggiungi sempre un valore fallback: `color: var(–color-text, #0f172a);`

Porta a Casa

Le custom properties CSS sono lo strumento che trasforma il dark mode da “fastidio” a “fatto”. Non devi riscrivere il tuo intero sito. Struttura le tue variabili in modo intelligente, usa le media query per scambiare i valori, e il tuo tema dualer si adatter√† perfettamente a qualsiasi preferenza dell’utente.

Inizia oggi. Crea un file di variabili pulito, testalo su entrambi i temi, e guarda come il tuo sito si trasforma in qualcosa di veramente elegante e mantenibile. Non c’√® magia qui ‚Äî √® solo CSS ben scritto.

Scopri altri articoli su dark mode