Poiché il CSS non è un linguaggio di programmazione, è invece il file di configurazione che contiene i dati variabili per il tuo programma.
Attualmente il CSS è così potente che puoi in realtà programmare in esso, ma questo è oltre il punto. In pratica è ancora una lingua del foglio di stile .
Facciamo un passo indietro. Immagina di avere un linguaggio di programmazione che può disegnare su uno schermo. Immagina di voler programmarlo per dipingere una pagina web.
Inizialmente inseriremmo tonnellate di numeri magici nel nostro codice. La larghezza del margine, l'altezza del testo, le rientranze, ecc. Ecc.
jump(100) // The margin
drawTable(500, 500)
writeText("Hello World", 12)
Quindi estraiamo i numeri magici e li mettiamo in cima al nostro file.
int margin = 100
int table = 500
int text_size = 12
jump(margin) // The margin
drawTable(table, table)
writeText("Hello World", text_size)
Ora questo è un po 'brutto. Leggiamo piuttosto i nostri numeri variabili da un file di configurazione.
margin 100
table 500
text size 12
Mm, non è chiaro ... Cosa significano quei numeri? Cosa significano quei nomi? Formalizziamola 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 i selettori al nostro file di configurazione in modo che possiamo specificare quale paragrafo deve avere un font più grande, o un diverso colore del testo, forse possiamo supportare elementi nidificati, forse possiamo usare una proprietà generale nel nostro file di configurazione, e quindi sovrascriverlo con uno specifico uno in pochi elementi nidificati.
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 di nuovo i numeri magici? Aggiungi variabili? Aggiungi un file di configurazione per il nostro file CSS? Sembra un po 'inutile se ricordi che il nostro file CSS è quello stesso file di configurazione già.
Ma ovviamente non è vero; il tuo file CSS diventa sempre più grande e alla fine ti imbatti negli stessi problemi con i numeri magici originali, lo stesso numero ripetuto dappertutto, a volte con piccole trasformazioni, ecc.
Il CSS moderno tuttavia, consente molti modi per evitare questa ripetizione. Puoi usare le classi che si applicano a molti elementi, puoi impostare lo stile per tutti div
s, ma poi sovrascriverne uno in particolare, e il CSS 3 consente persino un qualche tipo di utilizzo delle variabili.
Questo non significa che devi iniziare a utilizzare la variabile CSS in ogni posizione possibile. Usalo dove ha senso e usalo dove eviti la duplicazione o dove sono disponibili anche altre tecniche.
Alla fine, non vuoi troppi numeri magici nel tuo file di configurazione: -)