Debido a que CSS no es un lenguaje de programación, es el archivo de configuración que contiene los datos variables para su programa.
Actualmente, CSS es tan poderoso que realmente puedes programarlo, pero eso no viene al caso. En esencia, sigue siendo un lenguaje de hoja de estilo .
Retrocedamos un paso. Imagina que tenemos un lenguaje de programación que puede dibujar en una pantalla. Imagina que queremos programarlo para pintar una página web.
Al principio, ingresaríamos toneladas de números mágicos en nuestro código. El ancho del margen, la altura del texto, las sangrías, etc., etc.
jump(100) // The margin
drawTable(500, 500)
writeText("Hello World", 12)
Entonces extraemos los números mágicos y los colocamos en la parte superior de nuestro archivo.
int margin = 100
int table = 500
int text_size = 12
jump(margin) // The margin
drawTable(table, table)
writeText("Hello World", text_size)
Ahora esto es un poco feo. Preferimos leer nuestros números variables de un archivo de configuración.
margin 100
table 500
text size 12
Mm, eso no está claro ... ¿Qué significan esos números? ¿Qué significan esos nombres? Formalicémoslo un poco.
margin_left 10em
table_width 500px
table_height 500px
font_size 12px
Pero ya sabes, queremos ampliar un poco nuestro programa. También queremos que dibuje páginas con varias tablas, páginas sin tablas, páginas con párrafos o botones y más. Agreguemos selectores a nuestro archivo de configuración para que podamos especificar qué párrafo debe tener una fuente más grande o un color de texto diferente, quizás podamos admitir elementos anidados, quizás podamos usar una propiedad general en nuestro archivo de configuración y luego anularlo con un específico uno en unos pocos elementos anidados.
Sientes a dónde va esto, eventualmente llegas como CSS. (Y un navegador para representarlo).
¿Deberíamos agregar capacidades a nuestro archivo de configuración para que podamos evitar nuevamente los números mágicos? Añadir variables? ¿Agregar un archivo de configuración para nuestro archivo CSS? Se siente un poco inútil si recuerdas que nuestro archivo CSS ya es ese mismo archivo de configuración.
Pero eso no es cierto, por supuesto; su archivo CSS se hace cada vez más grande, y eventualmente se encuentra con los mismos problemas que con los números mágicos originales, el mismo número repetido por todas partes, a veces con pequeñas transformaciones, etc.
Sin embargo, el CSS moderno permite muchas formas de evitar esta repetición. Puede usar clases que se aplican a muchos elementos, puede establecer el estilo para todos los div
s, pero luego anular uno específicamente, y CSS 3 incluso permite algún tipo de uso variable.
Eso no significa que deba comenzar a usar la variable CSS en todas las ubicaciones posibles. Úselo donde tenga sentido y úselo donde evite la duplicación o donde otras técnicas también estén disponibles.
Al final, tampoco querrás demasiados números mágicos en tu archivo de configuración :-)