w3qc.org

w3qc.org

Pourquoi Mozilla n’interprète pas les CSS? | W3Québec

Contribution de Chantal Ide, octobre 2005

Le constat

La page valide, le doctype est correct, la feuille de style fonctionne lorsqu’elle est insérée dans le du document… Mais si elle est externe, peu importe la méthode employée pour l’appeler, Mozilla ne l’interprète pas. Cela devient presque décourageant de respecter les normes, car lorsque le doctype est supprimé, la feuille de style est interprétée!

Le pourquoi

Lorsqu’on utilise un DOCTYPE strict, que ce soit du HTML ou du XHTML, Mozilla n’interprète la feuille de style qu’à condition qu’elle soit servie avec un type MIME "text/css". Il s’agit donc d’un problème de serveur et non de développeur! D’après la spécification HTTP, si le serveur Web ou l’application annoncent un type MIME incorrect, un fureteur n’a aucune méthode pour détecter le bon type MIME. Certains fureteurs (Internet Explorer, par exemple) vont tenter de deviner quel devrait être le type MIME.

Le fureteur ne devrait pas tenter de deviner le type MIME pour deux raisons :

  • il y a ainsi une perte de contrôle sur la façon dont le contenu sera interprété
  • il y a une perte de sécurité. En effet, si un type MIME est mal configuré, un exécutable pourrait être exécuté sur l’ordinateur d’un usager sans son accord.

La solution

Pour pallier ce problème, il faut configurer le serveur Web pour qu’il serve les feuilles de style.

Sous Apache, il faut rajouter text/css css dans le fichier mime.types (typiquement, on le trouvera avec les fichiers de configuration d’Apache). S’il n’y a pas accès aux fichiers de configuration, l’autre solution est d’ajouter AddType text/css .css à au fichier .htaccess.

Pour apporter de l’eau au moulin des CCS dans Mozilla