Como o CSS não é uma linguagem de programação, é o arquivo de configuração que contém os dados variáveis do seu programa.
Atualmente, o CSS é tão poderoso que você pode programá-lo, mas isso está além do ponto. Em essência, ainda é um idioma da folha de estilos .
Vamos dar um passo atrás. Imagine que temos uma linguagem de programação que pode desenhar em uma tela. Imagine que queremos programá-lo para pintar uma página da web.
Primeiramente, nós inserimos muitos números mágicos em nosso código. A largura da margem, a altura do texto, recuos, etc., etc.
jump(100) // The margin
drawTable(500, 500)
writeText("Hello World", 12)
Então, extraímos os números mágicos e os colocamos no topo do nosso arquivo.
int margin = 100
int table = 500
int text_size = 12
jump(margin) // The margin
drawTable(table, table)
writeText("Hello World", text_size)
Agora isso é um pouco feio. Nós preferimos ler nossos números de variáveis a partir de um arquivo de configuração.
margin 100
table 500
text size 12
Mm, isso é um pouco incerto ... O que esses números significam? O que esses nomes significam? Vamos formalizar um pouco.
margin_left 10em
table_width 500px
table_height 500px
font_size 12px
Mas você sabe, nós queremos expandir nosso programa um pouco. Também queremos desenhar páginas com várias tabelas, páginas sem tabelas, páginas com parágrafos ou botões e mais. Vamos adicionar seletores ao nosso arquivo de configuração para que possamos especificar qual parágrafo deve ter uma fonte maior ou uma cor de texto diferente, talvez possamos suportar elementos aninhados, talvez possamos usar uma propriedade geral em nosso arquivo de configuração e substituí-la por um específico um em alguns elementos aninhados.
Você sente onde isso está indo, eventualmente você chega como CSS. (E um navegador para renderizá-lo.)
Devemos adicionar recursos ao nosso arquivo de configuração para que possamos evitar números mágicos novamente? Adicionar variáveis? Adicionar um arquivo de configuração para o nosso arquivo CSS? Parece um pouco inútil se você se lembrar do nosso arquivo CSS é o mesmo arquivo de configuração.
Mas isso não é verdade, claro; seu arquivo CSS cresce cada vez mais e, eventualmente, você se depara com os mesmos problemas dos números mágicos originais, o mesmo número repetido em todo o lugar, às vezes com pequenas transformações, etc.
CSS moderno, no entanto, permite muitas maneiras de evitar essa repetição. Você pode usar classes que se aplicam a muitos elementos, você pode definir o estilo para todos os div
s, mas, em seguida, substituir um especificamente, e CSS 3 ainda permite algum tipo de uso variável.
Isso não significa que você precise começar a usar a variável CSS em todos os locais possíveis. Use-o onde fizer sentido e use-o onde você evita a duplicação ou onde outras técnicas também estão disponíveis.
No final, você não quer muitos números mágicos no seu arquivo de configuração: -)