Dans ce chapitre, on va s'intéresser à un problème que l'on rencontre assez rapidement quand on commence à appliquer le CSS : comment s'organiser ?
Commencer par les fondations
Une bonne première étape consiste à poser les bases du projet.
Définir les variables CSS
La première chose à faire est de lister les variables globales utilisées par le design.
Prévoir les layers
Ensuite on va définir les calques calques que l'on va utiliser pour ne pas se faire piéger par la priorité :
Cette hiérarchie donne un cadre clair au CSS et évite beaucoup de conflits plus tard.
Une organisation par dossiers
Ensuite, en suivant la même logique que nos calques on va séparer notre CSS en plusieurs fichiers. Par exemple :
Notre fichier principal style.css ne sert plus qu'à venir importer les autres feuille de style et à définir les variables.
- Le dossier
baseregroupe les styles fondamentaux du projet (le reset, la typographie...) - Le dossier
layoutcontient les styles liés à la structure de la page (styles de conteneurs, grilles et autre style de section génériques). - Le dossier
componentscontient les styles de blocs réutilisables (comme les boutons, les badges, les formulaires...). - Le dossier
modulesregroupe des sections plus larges, liées à une page ou à une zone précise du site (comme le header, footer, bloc newsletter...) - Le dossier
utilitiescontient des classes très ciblées, conçues pour faire une chose précise
Par exemple :
Ou encore des utilitaires responsives :
Nommer ces classes
L'autre grand sujet, c'est le nommage des classes. Une convention que j'aime bien est l'approche BEM qui peut se résumer de la manière suivante :
- un bloc principal
- des éléments internes avec
__ - des modificateurs avec
--
Par exemple :
Puis dans le HTML :
Cette convention apporte plusieurs avantages :
- les classes deviennent plus prévisibles
- on comprend vite le rôle de chaque morceau
- le nommage demande moins d'improvisation
Mais il faut accepter une certaine verbosité (et la présence de -- ou __ ne conviendra pas à tout le monde).