Problema IE7 Z-Index – Menú contextual

Tengo el siguiente botón con el menú contextual asociado

  • Remove
  • Detail
  • Assign

Cuando se hace clic en el botón, el ul asociado aparece debajo de él como un menú contextual.

Esto funciona muy bien en todos los navegadores, excepto en IE 7. En IE7, el menú contextual (ul) se muestra debajo del botón debajo de él. Me imagino que esto se debe probablemente a cómo el contexto de astackmiento está resolviendo estos elementos.

Mi css actualmente se ve así:

 .control-action { position: relative; text-align:right; width:100px; } .control-action ul { position:absolute; z-index: 10000; list-style:none; } 

¿Alguna idea de lo que estoy haciendo mal?

IE hasta IE7 usa el ancestro posicionado más cercano para determinar el contexto de astackmiento. ¿Lo ves en IE6 también?

Pon tu botón después de la UL y luego pruébalo.

Lo resolví cambiando el orden de los elementos. He eliminado el elemento de posición relativa para que contenga tanto mi botón como mi menú y lo haya convertido solo en el elemento principal del menú.

  
  • Remove
  • Detail
  • Assign

Con este cambio de marcado el CSS ha cambiado a lo siguiente:

 .control-action { text-align:right; width:100px; } .control-action-menu { position:relative; z-index:1; } .control-action ul { position:absolute; z-index: 10000; list-style:none; } 

IE7 ha conocido errores con z-index .

Sin ver tu página completa, lo mejor que puedo hacer es señalarte algunos recursos que explican el problema:

La idea, en su forma más básica, es probar la posición de adición / eliminación position: relative e z-index en los padres del elemento problemático hasta que se solucione.

Podría ser el error hasLayout .

Esto puede ayudar: error de posicionamiento relativo / absoluto IE7 con contenido de página modificado dinámicamente