Vous pouvez me contacter via Facebook pour questions & suggestions : Page Facebook relative à mon site
On pouvait reprocher au CSS de ne pas être assez ergonomique. La maintenance d'une feuille de style peut s'avérer chronophage.
Aussi des préprocesseurs CSS sont proposés aux développeurs web.
Un préprocesseur CSS est un programme qui permet de générer du CSS ; un préprocessur dispose de quelques fonctionnalités qui n'existent pas en CSS pur,
telles que variables, mixin, sélecteur d'imbrication, etc.
Le plus célèbre est SASS. Le développeur écrit un pseudo code CSS simplifié et structuré (règles de style imbriquées, variables, etc. )
puis procède à la compilation de ce fichier (extension .scss) pour obtenir la feuille de style interprétable par le navigateur (fichier css).
Les navigateurs viennent d'implémenter deux modules : custom properties & CSS nesting module.
Vous pouvez donc créer et manipuler des variables dans votre feuille de style comme nous allons le voir dans l'exemple qui suit.
Trois grandes divisions : HEADER, MAIN, FOOTER
Le conteneur MAIN contient les boites ARTICLE & ASIDE.
Il s'agit d'une feuille de style classique ; les valeurs des propriétés sont des constantes.
Notez que les "enfants" de la boite MAIN (ARTICLE & ASIDE) sont disposés avec la méthode "flexbox".
Notez aussi que les boites seront "border-box".
Je suis d'accord avec vous. Les couleurs sont moches mais c'est volontaire ...
Nous allons créer et manipuler des variables CSS dans la feuille.
Via le sélecteur html on définit des variables qui seront utilisables pour toute la page.
Le nom d'une variable CSS doit toujours commencer par deux tirets. Le nom d'une variable ne peut comporter le caractère "espace".
Exemple de création et initialisation de variables :
--fond1 : darkblue; --texte1 : red ;
Pour utiliser une variable comme valeur d'une propriété il faut l'entourer de la fonction var().
Exemple d'utilisation d'une variable prédéfinie :
background : var(--fond3) ; color : var(--texte3) ;
Et si on manipule une variable qui n'a pas été définie ?
La fonction var() admet un deuxième paramètre :
background : var(--fond3, lime) ; color : var(--texte3,navy) ;
La couleur "lime" ou "navy" sera utilisée par le navigateur s'il ne trouve pas les variables "--fond3" ou "--texte3"
Pour modifier l'apparence de la page il suffit de changer les valeurs initiales des variables.
Donc vous ne modifiez que la deuxième règle de style ; celle qui débute avec le sélecteur "html".
C'est beaucoup plus joli dans le choix des couleurs.
La mise à jour de la feuille de style a été simple et très rapide !
L’imbrication est l’un des principes fondamentaux du HTML que n’offrait pas encore CSS (mais que propose les préprocesseurs CSS).
Cependant le W3C y travaille et une norme a été établie : CSS nesting module.
Outre la suppression des doublons, l'imbrication des sélecteurs améliore la lisibilité du code et facilite donc la maintenance.
La feuille de style décrit la mise en forme pour deux classes spécifiques à l'élément TABLE.
Il y a énormément de redondances dans les sélecteurs : 4 fois "table.tableau1" et 4 fois "table.tableau2".
Cette redondance serait encore plus importante si nous avions prévu une mise en forme pour les sous-parties d'un tableau :
sélecteurs thead, tbody,tfoot.
Dans la feuille de style je factorise "table.tableau1" et "table.tableau2".