2010-08-21 19 views
6

Tiene un problema extraño en IE7. En varios puntos, tengo un DIV que tiene una posición: absoluta en él (menú desplegable falso) siempre que hay algo detrás de él que tiene una posición: relativo el elemento posicionado relativo se mostrará a través del otro div.posición: relativo que aparece sobre la posición: absoluto

Relativly elemento posicionado no tiene ningún conjunto índice z, mientras que el elemento con posición absoluta (el que yo quiero en la parte superior) tiene un índice z de 1000.

http://skitch.com/louiswalch/dub5h/microsoft-windows-vista

+1

posible duplicado de [IE z-index relativo/error absoluto en la lista] (http://stackoverflow.com/questions/798482/ie-z-index-relative-absolute-bug-in-list) –

Respuesta

22

os sospechoso Ya lo he probado, pero establezca z-index en su elemento relativamente posicionado que sea más bajo que el elemento z-index de su elemento posicionado como la primera prueba.

Si eso no funciona, debe asegurarse de que ambos elementos estén en el mismo stacking context. En IE, cada vez que aplica la regla CSS position a un elemento, genera un nuevo contexto de apilamiento dentro de ese elemento. Esto significa que el índice Z solo se respetará correctamente dentro de los elementos secundarios y elementos secundarios de ese elemento en otros contextos de apilamiento con. Los índices z inferiores aún pueden apilarse arriba.

En su caso, debe colocar el menú desplegable y el botón en el mismo contexto de apilamiento o aplicar índice z a los 2 elementos que están generando sus propios contextos de apilamiento.

+0

Ahh spot en adelante, ese es el problema. El problema es que no estoy seguro de poder ponerlos en el mismo índice de apilamiento. Está sucediendo en otro lugar del sitio que tiene un diseño más complejo y el elemento con un posicionamiento relativo está en un nivel totalmente diferente del DOM. Traté de dar el artículo que está apareciendo a través de un índice Z más bajo que el artículo que está sobre él y aún así aparece. ¿Qué significa "o aplica z-index a los 2 elementos que generan sus contextos de apilamiento separados"? –

+7

Lo que quiero decir es que tiene que encontrar los 2 elementos principales con un conjunto 'position' (estos están creando los 2 contextos de apilamiento separados) y establecer' z-index' en ellos. Por ejemplo, si su botón está anidado en un contenedor llamado '# content' y su menú desplegable está en' # header', podría establecer '#content {z-index: 1} y' #header {z-index: 2} ' . Siempre que '# header' y' # content' estén en el mismo contexto de apilamiento, esto solucionará su problema. – Pat

Cuestiones relacionadas