Une base de travail moderne pour uniformiser les styles des éléments HTML entre navigateurs
reset.css et print.css appliquent de bonnes pratiques d'accessibilité et optimisent l'expérience utilisateur, prêts à être placés dans un layer config.
Principales sections couvertes
-
Configuration globale
Color-scheme et modèle de boîte
-
Éléments de base
Styles fondamentaux HTML et body
-
Navigation et focus
Gestion accessible du clavier
-
Typographie
Titres, paragraphes, guillemets français
-
Listes
Reset accessible,
role="list" -
Éléments média
Prévention des débordements
-
Formulaires
Normalisation champs et boutons
-
Préformatés
Configuration optimale du code
-
SVG
Gestion moderne des vectoriels
-
ARIA
Support attributs et états ARIA
-
Masquage accessible
Classe
.visually-hidden -
Reset print
Styles optimisés impression
Méthodologie — ordre des layers
survoler une couche-
01 config
reset.css, theme.css, theme-tokens.css, layouts.css
-
02 base
styles.css — gabarits, typographie
-
03 components
tous les fichiers CSS des composants
-
04 utilities
print.css, classes utilitaires
Les layers sont déclarés du moins prioritaire au plus prioritaire : un style placé dans un layer ultérieur l'emporte sur les précédents, quelle que soit la spécificité de ses sélecteurs.
Exemple de structure complète
Placez ce reset dans un
layer CSS
config
sous vos autres layers pour une meilleure organisation du code et
gestion de la spécificité CSS.
@layer config, base, components, utilities;
@import "reset.css" layer(config);
@import "theme.css" layer(config); /* vos styles — thème du projet (couleurs, espacements…) */
@import "styles.css" layer(base); /* vos styles globaux du projet */
@import "print.css" layer(utilities);
Ce fichier Reset entre dans un workflow global qui se résume à un
fichier app.css qui charge toutes les feuilles de
styles dans l'ordre des layers CSS :
-
Layer
config(reset, polices, themes, layouts) :reset.css- Reset CSS moderne (et reset print)theme.css- Thème principal (valeurs primitives)theme-tokens.css- Variables sous forme de tokenslayouts.css- Utilitaires de disposition des composants
-
Layer
base:styles.css- Styles globaux du projet (gabarits, typographie, etc.)
-
Layer
components:- tous les fichiers CSS des composants (bouton, input, etc.)
-
Layer
utilities:print.css- Reset print- Autres fichiers de classes utilitaires si nécessaire (accessibilité, alignement, etc.)
Pourquoi un reset CSS ?
Chaque navigateur applique ses propres styles par défaut aux
éléments HTML : marges de paragraphe, taille des titres, puces de
listes, apparence des boutons… Ces feuilles de style internes
(user agent stylesheet) diffèrent d'un navigateur à
l'autre, ce qui oblige à corriger sans cesse les mêmes
incohérences avant de commencer à styliser un projet.
Un reset CSS neutralise ces différences en amont : il uniformise le
modèle de boîte, remet à plat la typographie, les listes et les
formulaires, et applique de bonnes pratiques par défaut (respect de
prefers-reduced-motion, gestion accessible du focus,
listes avec role="list"…). Le développeur part ainsi
d'une base cohérente plutôt que de deviner le rendu par défaut de
chaque navigateur.
Placé dans un layer config, ce reset reste facilement
surchargeable : vos propres styles, quelle que soit leur
spécificité, priment naturellement grâce à l'ordre des layers CSS.