Comme CSS n’est pas un langage de programmation, c’est le fichier de configuration qui contient les données variables de votre programme.
Actuellement, le CSS est si puissant que vous pouvez réellement le programmer, mais c’est d’autre chose. En substance, c'est toujours un langage de feuille de style .
Faisons un pas en arrière. Imaginez que nous ayons un langage de programmation capable de dessiner sur un écran. Imaginons que nous voulions le programmer pour peindre une page Web.
Au début, nous entrions des tonnes de nombres magiques dans notre code. La largeur de la marge, la hauteur du texte, les indentations, etc., etc.
jump(100) // The margin
drawTable(500, 500)
writeText("Hello World", 12)
Nous extrayons donc les nombres magiques et les plaçons au-dessus de notre fichier.
int margin = 100
int table = 500
int text_size = 12
jump(margin) // The margin
drawTable(table, table)
writeText("Hello World", text_size)
Maintenant c'est un peu moche. Nous lisons plutôt nos nombres variables dans un fichier de configuration.
margin 100
table 500
text size 12
Mm, c'est un peu flou ... Que signifient ces chiffres? Que signifient ces noms? Formalisons cela un peu.
margin_left 10em
table_width 500px
table_height 500px
font_size 12px
Mais vous savez, nous voulons élargir un peu notre programme. Nous voulons également qu’il dessine des pages avec plusieurs tableaux, des pages sans tableaux, des pages avec des paragraphes ou des boutons, entre autres choses. Ajoutons des sélecteurs à notre fichier de configuration afin de pouvoir spécifier le paragraphe qui doit avoir une police plus grande ou une couleur de texte différente, peut-être que nous pouvons prendre en charge des éléments imbriqués, peut-être que nous pouvons utiliser une propriété générale dans notre fichier de configuration, puis la remplacer par un paramètre spécifique. un dans quelques éléments imbriqués.
Vous sentez où cela se passe, vous finissez par arriver en CSS. (Et un navigateur pour le rendre.)
Devrions-nous alors ajouter des fonctionnalités à notre fichier de configuration afin d’éviter à nouveau les nombres magiques? Ajouter des variables? Ajouter un fichier de configuration pour notre fichier CSS? Cela semble un peu inutile si vous vous souvenez que notre fichier CSS est déjà le même fichier de configuration.
Mais ce n'est pas vrai bien sûr; votre fichier CSS grossit de plus en plus, et vous rencontrez finalement les mêmes problèmes que pour les nombres magiques d'origine, le même nombre répété partout, parfois avec de petites transformations, etc.
Le CSS moderne permet cependant plusieurs façons d’éviter cette répétition. Vous pouvez utiliser des classes qui s'appliquent à de nombreux éléments, vous pouvez définir un style pour tous les div
objets, mais en substituer un en particulier, et CSS 3 autorise même un type d'utilisation variable.
Cela ne signifie pas que vous devez commencer à utiliser des variables CSS dans tous les emplacements possibles. Utilisez-le là où cela vous semble utile et évitez la duplication ou d'autres techniques également disponibles.
En fin de compte, vous ne voulez pas trop de nombres magiques dans votre fichier de configuration :-)