Dizque



bugs, Desarrollo web, Internet Explorer

Posición relativa y scroll en Internet Explorer

Saltar a Anotaciones relacionadas

Bug vivido hoy en mis propias carnes. Situación: una caja a la que hemos asignado unas dimensiones y un overflow: auto. Dentro de la caja tenemos elementos con posición relativa (¿quizá para disparar hasLayout y resolver otros bugs?). Al hacer scroll, los elementos en posición relativa no se cantean. Ni un pelo.

En fin, algo tan sencillo como esto:

#container {
    overflow: auto;
    width: 600px;
    height: 200px;
}

.relative {
    position: relative;
}

No funciona correctamente en Internet Explorer. Y no solo en la versión 6. El bug se reproduce también en la versión 7 de la cosa.

La «solución» consiste en colocar el elemento contenedor en posición relativa:

#container {
    overflow: auto;
    width: 600px;
    height: 200px;
    position: relative;
}

.relative {
    position: relative;
}

Evidentemente –y no sé si decir por fortuna o por desgracia–, no soy el único que se ha topado con este problema. Jonathan Snook lo describe y soluciona en position:relative and overflow in Internet Explorer. Stu Nicholls reutiliza el bug (osado él) como feature en Emulating position fixed for Internet Explorer.

En fin, uno más para el libro.




2 comentarios RSS

  • #1
  • Bit01
  • 2008-01-28 11:01:26

Me salvaste la vida!!! ;)

Coñe, pues me alegro :)


Di la tuya

Puedes usar markdown y estas etiquetas HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong> . Por favor, evita el abuso de las mayúsculas y cuida la ortografía.