-
Pb IE7 avec hasLayout
Bonjour,
J'ai une page contenant une zone de recherche. Lorsque j'effectue une recherche les résultats de cette page s'affiche via du ajax sur la page, dessous le module de recherche. Théoriquement, le résultat de cette recherche doit être au premier plan sauf que sous IE7 (je n'ai pas encore essayé IE6 mais pas de souci sous FF) le résultat de la recherche passe sous une div.
Dans un premier temps j'ai cru qu'il s'agissait d'un z-index mais le problème n'a pas été résolu. Après des heures de recherches je pense que le problème vient de la propriété hasLayout propre à IE : malgré le fait que le layout soit positionné au dessus des autres éléments grâce à z-index, ce dernier (le layout) n'est pas activé. Certaines propriété permettre d'activer le layout, notamment la propriété zoom:1; qui aurait du activer le layout.
Malgré tous mes efforts, je n'arrive pas à résoudre ce problème. Je débugue sous IE avec IE Developer Toolbar, et si j'ajoute le zoom, le hasLayout de ma zone de recherche est toujours défini à -1.
J'ai déjà passé 3 heures depuis ce matin à faire des tests dans tous les sens, hélas le résultat reste inchangé. Peut-être que vous pourrez m'aider ?
Merci d'avance.
-
Bonsoir Whitespirit,
tu es en effet confronté là à une des différences de comportement les plus problématique entre IE et les autres navigateurs:
IE dessine les éléments html les un après les autres en superposant les derniers éléments dans le flux sur les précédents, quand les autres navigateurs font l'opposé.
Solution: descendre ton div de résultats sous le bloc qui se superpose.
Le zoom:1 est totalement inutile dans ce cas puisque le positionnement absolue ou les propriétés de taille permettent de doter le div de layout.
Voir la liste des propriétés conférant le layout
-
Aie !
Merci pour ton aide. Je vais chercher dans ce sens.
PS: j'enlève le lien dans mon premier post.