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
.