Poiché CSS non è un linguaggio di programmazione, è invece il file di configurazione che contiene i dati variabili per il tuo programma.
Attualmente CSS è così potente che puoi effettivamente programmarlo, ma questo è oltre il punto. In sostanza è ancora un linguaggio per fogli di stile .
Facciamo un passo indietro. Immagina di avere un linguaggio di programmazione che può disegnare su uno schermo. Immagina di volerlo programmare per disegnare una pagina web.
Inizialmente inseriremmo tonnellate di numeri magici nel nostro codice. La larghezza del margine, l'altezza del testo, i rientri, ecc., Ecc.
jump(100) // The margin
drawTable(500, 500)
writeText("Hello World", 12)
Quindi estraiamo i numeri magici e li inseriamo nel nostro file.
int margin = 100
int table = 500
int text_size = 12
jump(margin) // The margin
drawTable(table, table)
writeText("Hello World", text_size)
Questo è un po 'brutto. Preferiamo leggere i nostri numeri variabili da un file di configurazione.
margin 100
table 500
text size 12
Mm, è un po 'poco chiaro ... Cosa significano quei numeri? Cosa significano quei nomi? Formalizziamolo un po '.
margin_left 10em
table_width 500px
table_height 500px
font_size 12px
Ma sai, vogliamo espandere un po 'il nostro programma. Vogliamo anche che disegni pagine con più tabelle, pagine senza tabelle, pagine con paragrafi o pulsanti e che altro. Aggiungiamo selettori al nostro file di configurazione in modo da poter specificare quale paragrafo deve avere un carattere più grande o un colore di testo diverso, forse possiamo supportare elementi nidificati, forse possiamo usare una proprietà generale nel nostro file di configurazione e quindi sovrascriverlo con uno specifico uno su alcuni elementi nidificati.
Ti senti dove sta andando, alla fine arrivi come CSS. (E un browser per renderlo.)
Dovremmo quindi aggiungere funzionalità al nostro file di configurazione in modo da poter evitare nuovamente i numeri magici? Aggiungi variabili? Aggiungi un file di configurazione per il nostro file CSS? È un po 'inutile se ricordi che il nostro file CSS è già lo stesso file di configurazione.
Ma questo non è vero ovviamente; il tuo file CSS diventa sempre più grande e alla fine ti imbatti negli stessi problemi dei numeri magici originali, lo stesso numero ripetuto ovunque, a volte con piccole trasformazioni, ecc.
I CSS moderni, tuttavia, consentono molti modi per evitare questa ripetizione. Puoi usare le classi che si applicano a molti elementi, puoi impostare lo stile per tutti gli div
s, ma poi sovrascriverne uno in modo specifico e CSS 3 consente persino un tipo di utilizzo variabile.
Ciò non significa che è necessario iniziare a utilizzare la variabile CSS in ogni posizione possibile. Usalo dove ha senso e usalo dove eviti la duplicazione o dove altre tecniche disponibili non sono all'altezza.
Alla fine, non vuoi nemmeno troppi numeri magici nel tuo file di configurazione :-)