28173 sujets

CSS et mise en forme, CSS3

Hello tout le monde,

J'ai rencontré récemment un problème avec des règles @import qui n'étaient pas comprises par Internet Explorer Win. Après avoir pas mal galéré (j'ai mis des heures à identifier la source du problème, j'ai cru qu'IE ne recevait pas les CSS avec le bon type MIME, car il les lançait avec le logiciel ad hoc si on rentrait l'url directe de la feuille de style), j'ai donc identifié le problème, et réalisé cette page de test :

http://web.covertprestige.info/test/17-regles-at-import-et-navigateurs.html

Avant de poster ça ici, je me suis dit qu'un petit tour par la FAQ serait utile. On y trouve ceci :
a écrit :
En pratique, le résultat est exactement le même (après avoir testé sur plusieurs sites), mais il y'a une petite subtilité qui peut se révéler intéressante…

En effet, @import (CSS2) n'est pas reconnu par les très vieux navigateurs qui ne sont pas encore aux normes au niveau des CSS (par exemple Netscape 4).

Par conséquent, en important sa feuille de style avec @import, les styles seront appliqués partout sauf sur ces navigateurs dinosaures.

Fort bien, mais mon test démontre (sauf erreur de ma part !) qu'Internet Explorer ne supporte pas tout à fait la règle @import.

1 – @import avec spécification du média : la règle n'est pas active !
2 – @import sans spécification du média : la règle est active.

Donc la règle suivante ne sera pas appliquée dans IE Win (5.0 et 6.0) :
@import url(/styles/habillage.css) screen;



Ceci étant dit, j'ai besoin de deux choses :
Premièrement, que quelqu'un me dise ce que cela donne sous Safari et sous IE Mac (en précisant les versions utilisées).
Deuxièmement, il se peut que j'aie fait une erreur. Dans ce cas, merci de me la signaler.

Si quelqu'un arrive à produire un contre-exemple (règle @import avec indication du ou des médias visés, et qui est prise en compte par IE Win), ça m'intéresse aussi. Smiley lol
Hé hé, j'eus bien fait de faire une petite recherche sur le forum, moi.

En attendant, est-ce que je lis trouble ou est-ce que la FAQ profère des bêtises ? Ou du moins des incomplétudes. Smiley biggol

Il faudrait négocier une petite correction sur l'heure, non ?
Oui, cette entrée de la FAQ est assez approximative et devrait être précisée.

(Cela dit, de là à insister éventuellement sur les possibilités de "hacks" via les syntaxes d'@import, hum... Mais je ne pense pas que ce soit ce que tu as en tête ?)
mpop a écrit :
Si quelqu'un arrive à produire un contre-exemple (règle @import avec indication du ou des médias visés, et qui est prise en compte par IE Win), ça m'intéresse aussi. Smiley lol

A mon avis on ne peut que procéder ainsi :
<style type="text/css" media="print">   
@import "print.css";  
</style>


Sinon j'ai rapidement testé avec IE7 beta 3 : même résultat qu'avec IE6
Laurent Denis a écrit :
(Cela dit, de là à insister éventuellement sur les possibilités de "hacks" via les syntaxes d'@import, hum... Mais je ne pense pas que ce soit ce que tu as en tête ?)

Nom, mais préciser qu'IE Win ne supporte pas la syntaxe avec type de média, afin d'éviter à ceux qui lisent la fac de perdre une demi-journée de boulot, par exemple. Smiley cligne

Bon ben je fais ça alors. Smiley smile

Edit : voilà, c'est fait. N'hésitez pas à corriger si besoin.
Modifié par mpop (31 Jul 2006 - 20:19)