Mon point du vue à propos des feuilles de style CSS « reset.css »

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 ? »

  1. le W3C définit une feuille de style standard : Appendix D. Default style sheet for HTML 4
  2. 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 » )
  3. 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
  4. => 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):

Read and Post Comments

Mes flux :