Mon point du vue à propos des feuilles de style CSS « reset.css »
Posté par Stéphane Klein le dimanche 19 septembre 2010 dans les catégories Informatique, CSS, Web-dev | View Comments
Cela fait des années que je peste contre les feuilles de style « reset.css » du type :
* {margin: 0; padding: 0;}
Cette feuille de style reset.css n'est pas complète, mais elle illustre bien l'esprit de celle-ci. Pour un exemple plus complet, vous pouvez consulter le billet suivant CSS Tools: Reset CSS de Eric Meyer.
Aujourd'hui j'ai décidé d'en savoir plus sur le sujet et d'exprimer mon point de vue à travers ce billet.
Pourquoi je n'aime pas cela ?
Je connais le langage HTML. Je sais que la balise <p>…</p> doit afficher un paragraphe. Je sais que la balise <ul><li>…</li></ul> doit afficher une liste à puces…
Je connais plus ou moins la feuille de style par défaut des navigateurs web et donc je sais à l'avance plus ou moins à quoi m'attendre.
Lorsqu'un projet utilise une feuille de style « reset.css » et que je dois intervenir dans le code source HTML, ajouter du contenu… des balises P , UL > LI … je m'attends à avoir un comportement de rendu standard ou conforme au design du site modifié.
Lorsque je découvre que mes paragraphes n'ont aucunes marges, mes listes à puces aucunes puces, aucunes indentation alors je peste contre cette feuille de style « reset.css » !
Ce que je préfère
Revenons à la source : « quel est le but de la feuille de style reset ? »
- le W3C définit une feuille de style standard : Appendix D. Default style sheet for HTML 4
- tous les navigateurs ne respectent pas scrupuleusement cette feuille de style standard (voir section « Un rendu spécifique à chaque navigateur » du billet « Le rendu par défaut des éléments HTML » )
- si un webdesigner se base sur la feuille de style par défaut de son navigateur il peut découvrir des surprises lorsqu'il consultera sa page sur un navigateur différent
- => pour pallier à ce problème, il utilise une feuille de style « reset.css »
Ce que je propose
Ce que je propose est de remplacer la feuille de style reset.css par une feuille de style w3c_default.css. Cette feuille de style contiendrait les règles définis par le W3C : Appendix D. Default style sheet for HTML 4 (j'ai cherché le style par défaut pour les spécifications HTML 5 mais je n'ai pas trouvé).
Cette feuille de style w3c_default.css permet d'atteindre deux objectifs :
- une feuille de style identique pour tous les navigateurs
- une feuille de style par défaut conforme aux standards
Code source de la feuille de style en question : w3c_default.css.
Mise à jour (20-09-2010 à 13h49):
- j'ai modifié w3c_default.css car avant d'appliquer les valeurs par defauts du W3C, je dois appliquer un « reset » CSS.
- article qui traite exactement du même sujet : La technique du Reset CSS


