Posicionamiento absoluto de las capas

Buenas a todos. Tengo una zona de mi web con varios divs superpuestos que están ocultos (visibility:hidden)y según unos botones, éstos aparecen y desaparecen. Para tenerlos todos superpuestos utilizo position:absolute. El problema viene con los navegadores. Mozilla y Chrome no me dan problemas, pero IE me los desplaza. Según creo entender Mozzilla y Chrome cuando le pones una posición absoluta se fija a la esquina superior izquierda de la página, (o del div contenedor, como es el caso) que es como tengo entendido que funciona. Ahora bien, con IE me lo fija también en el borde superior, pero centrado horizontalmente y un float:left no hace nada.

El css que le tengo al div es el siguiente:

#menu-listas { visibility: hidden ; float: left ; position:absolute ; margin: 5px 0px 5px 0px ; background-color: white ; height: 174px ; color: white  ; width: 900px }

La solución que he encontrado es arreglarlo de cualquier forma para que se vea en IE (supongo que un margin negativo lo solucionaría) y programar con PHP o JavaScript para conseguir que se vea igual en todos los navegadores.

¿Existe otra forma más sencilla de posicionar de forma superpuesta los div's? ¿Me he equivocado y no trabaja así? Y si no es así ¿Existe alguna forma alternativa a JS o PHP?
Bueno veo que poca gente ha echado cuenta al tema. Encontré una solución y lo pongo por acá por si ayudo a alguien.

Efectivamente IE coloca la position absolute en medio por tanto junto donde indico que hojas de estilo voy a utilizar, añado lo siguiente:

<!--[if IE]>
<link rel="stylesheet" href="../../estilo-ie.css" type="text/css" media="all">
<![endif]-->

Sólo me salta cuando el navegador es IE. En estilo-ie.css lo único que hago es darle a un margin-left: -450px al elemento que tengo con posición absoluta.