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.