Alsacreations FAQ version Beta 0.5

Questions diverses

Pourquoi ma feuille de style est-elle ignorée ?

Plusieurs erreurs peuvent empêcher une CSS d'être prise en compte par un navigateur:

Lors de l'ajout d'une feuille de style d'impression, l'erreur fréquente est la mauvaise utilisation de l'attribut title des liens vers les fichiers CSS. Exemple:


<link rel="stylesheet" media="screen" title="Ecran" href="screen.css" />
<link rel="stylesheet" media="print" title="Impression" href="print.css" />


L'attribut title de l'élément link sert à différencier des jeux de feuilles de styles alternatifs, et non à ajouter une information. Le navigateur n'appliquera simultanément que les feuilles de styles portant le même title que la feuille de style screen par défaut, quelque-soit leur media. En l'absence de styles alternatifs, cet attribut ne doit pas être utilisé. Il faut donc écrire :


<link rel="stylesheet" media="screen" href="screen.css" />
<link rel="stylesheet" media="print" href="print.css" />


Ou bien, dans un jeu de styles alternatifs :


<link rel="stylesheet" media="screen" href="screen1.css" title="mon design préféré" />
<link rel="stylesheet" media="print" href="print1.css" title="mon design préféré" />

<link rel="alternate stylesheet" media="screen" href="screen2.css" title="mon design alternatif" />
<link rel="alternate stylesheet" media="print" href="print2.css" title="mon design alternatif" />


Le style print1.css sera appliqué par le navigateur si la feuille de style screen1.css est choisie par l'utilisateur. Le style print2.css sera appliquée si le style screen2.css est choisie.

Voir http://blog-and-blues.org/weblog/2005/08/04/437-feuilles-de-styles-permanentes-alternatives-et-preferees-en-xhtml sur la notion de styles alternatifs et sur le rôle de l'attribut title.

Autre cas d'erreur fréquent: en mode de rendu strict, les navigateurs Gecko (Firefox) ignorent les feuilles de styles qui ne sont pas associées par le serveur au type MIME requis, c'est à dire text/css. Utiliser par exemple http://web-sniffer.net/ pour vérifier le type MIME associé au fichier CSS, et modifier la configuration du serveur en conséquence pour envoyer l'en-tête HTTP Content-Type correct avec les CSS.