Ouebma_ETC a écrit :
Quel est le lien de cause à effet entre les 2 choses d'après toi ?
Je sais qu'Internet Explorer 6 a un bug: le mécanisme de Doctype Switching qui lui permet de savoir s'il doit interpréter une page en mode Quirks (à l'ancienne) ou en mode Standard (en tentant de respecter les standards) ne fonctionne que si IE6 trouve en tout début de fichier HTML un Doctype en bonne et due forme, précédé par rien d'autre que des caractères blancs (retours à la ligne, espaces, tabulations). Les commentaires présents avant le Doctype déclenchent le mode Quirks.
Peut-être est-ce aussi le cas avec Internet Explorer 7.
Ouebma_ETC a écrit :
Cela dit, le changement d'image sous IE7 est un peu Zarbi ... on dirait qu'il s'affiche une image "blanche" entre les 2 images ... qu'en penses-tu ?
Ce sera le cas avec absolument tous les navigateurs. Tu appelles une seconde image qui n'est chargée que lorsque le code CSS pour l'état
:hover est appliqué... c'est à dire uniquement lors du survol. Tant que l'élément n'a pas été survolé, la deuxième image de fond n'est pas chargée. Par la suite, le navigateur la mettra en cache, et l'appellera donc presque instantanément. Mais tant qu'elle n'est pas en cache, le navigateur:
- efface l'image de fond pour l'état normal;
- demande au serveur la deuxième image;
- attend la deuxième image;
- la reçoit;
- la place dans le cache;
- l'affiche en fond de l'élément.
Ces opérations pouvant prendre quelques centièmes de seconde ou bien plusieurs secondes, suivant la réactivité du navigateur, du serveur, etc.
Solution: précharger l'image, soit via Javascript, soit via une technique de type «portes coulissantes», dont voici
un exemple.