2010-08-23 8 views
0

Je rencontre un problème d'affichage avec un div positionné absolu dans IE6 + IE7
J'essaie d'afficher un menu déroulant. ce menu déroulant est positionné en absolu.
maintenant dès qu'il y a un autre élément en dessous de ce menu qui a la position: relative, le menu déroulant absolu positionné est affiché derrière. cela se produit uniquement dans IE7 et 6 comme mentionné ci-dessus.Affichage IE avec div positionné absolu

des idées sur la façon de résoudre ce problème?

+0

J'ai essayé de recréer le problème, mais je n'obtiens pas le résultat que vous décrivez, j'obtiens le résultat désiré. Pourriez-vous fournir le code que vous utilisez? – Jasper

+0

J'ai posté une version simple du code qui crée ce problème ici: http://snipplr.com/view/39433/ie7-positioning-bug/ – clem

+0

J'ai trouvé une solution si quelqu'un est intéressé. c'est un problème de z-index dans IE. ici un lien sur la façon de résoudre le problème: http://brenelz.com/blog/squish-the-internet-explorer-z-index-bug/ – clem

Répondre

0

La propriété css z-index est là pour vous permettre de définir quel objet doit être affiché "en haut". Définir les z-index pour tous les éléments de la quête (seule la liste déroulante devrait aussi fonctionner Je pense).

EDIT (selon le code fourni):

L'élément pour donner la propriété z-index est « l'élément le plus élevé avec un attribut de position que la div chevauchée ne fait pas partie de ce qui est de votre. exemple, donnez l'index z à menu_container ou ajoutez-le à l'en-tête et donnez l'en-tête position: relative (J'aime mieux cette dernière option car elle est moins susceptible de rompre avec les futurs changements de votre code HTML). est ainsi, dans IE6 et IE7 choses fonctionnent comme suit: actuellement absolute_div est au-dessus de tout dans menu_container, mais menu_container est ci-dessous relative_di v, donc absolute_div est aussi. La raison pour laquelle l'en-tête ne participe pas à cette histoire est que si aucun attribut de position n'est donné, ce qui est affiché à l'avant et ce qui est à l'arrière est calculé différemment.

+0

J'ai essayé de définir l'index z mais cela ne fonctionne pas dans ce cas – clem

+0

merci beaucoup pour votre temps, J'ai également trouvé une autre solution pour cela (voir le commentaire de la question réelle) – clem

+0

Erm .. . non. Vous avez trouvé exactement la même chose. (La différence étant que vous avez trouvé quelqu'un qui a trouvé cela ne fonctionnait pas (et a trouvé un travail) et qui a ensuite crié "BUG", et j'ai logiquement déduit ce qui se passait ... Notez que vous devriez toujours accepter une réponse - si ce n'est pas la mienne (ou celle de quelqu'un d'autre), alors vous devriez poster votre propre réponse et l'accepter. – Jasper

Questions connexes