Bug: IE n’affiche pas mes CSS

Un magnifique bug (parmi de nombreux autres) existe dans Internet Explorer (IE6, IE7, IE8).

IE6, IE7, IE8 ne supportent pas plus de 31 fichiers CSS liés dans une page html (que se soit par tag <link rel="stylesheet" ...> ou CSS @import).

Toutes les CSS venant après la 31ème seront simplement ignorées !

Ok, ça n’est pas idéal, d’un point de vue performance, de splitter ses CSS mais des fois nous n’avons pas le choix. (Ex : Développement Drupal avec quelques modules rajoutant chacun sa propre CSS).

La solution pour Drupal :

Un module existe (il ne loade pas de CSS propre) : IE CSS Optimizer concatène les CSS trouvées dans les répertoires /modules/ d’un projet Drupal une fois configuré et activé.

Et si je n’emploie pas Drupal ? :

Comme Microsoft le suggère [1] :

To work around this limitation, combine multiple classes into a single style tag.

Pour contourner cette limitation, combinez les différentes classes dans un seul tag style.

Le plus simple est de vérifier si les CSS liées sont vraiment nécessaires et en supprimer si besoin. D’autres solutions de concaténation existent (voir la librairie Minify)

Liens relatifs :

Comments

2 commentaires à “Bug: IE n’affiche pas mes CSS”

  1. Ced le 20/01/2010 à 11h04.

    Étrange ce plugin pour Drupal, alors qu’il y a déjà une option “Aggregate and compress css files”. Utilisée sur http://www.ecose-technology.com/

  2. Marin le 20/01/2010 à 11h15.

    Je pense que le “Aggregate and Compress CSS files” va concaténer toutes les CSS ensemble. Ce qui n’est pas idéal pour débugger (surtout IE). L’Addon laisse tranquille les CSS qui se trouvent dans le répertoire /themes/.

Laissez un commentaire