miércoles 25 de junio de 2008

CSS Fix: Doble margen en IE sobre elementos flotantes

Hay un bug en Internet Explorer 6 (al menos) cuando se utilizan elementos flotantes (propiedad CSS 'float') en combinación con un margen sobre el mismo lado sobre el que se flota... por ejemplo:


div.flotante {
float: left;
margin-left: 10px;
}


Si vemos este estilo aplicado en un Internet Explorer, veremos que el margen a la izquierda se duplica debido a un error de interpretación del navegador.
Misteriosamente, la solución a este problema, es agregarle la propiedad 'display' con el valor 'inline' a ese selector CSS para que no duplique el margen, entonces nuestra clase CSS nos quedaría de la siguiente manera:


div.flotante {
float: left;
margin-left: 10px;
display: inline;
}


Y ahora si, veremos que tenemos el mismo margen en Internet Explorer como en cualquier otro browser.

Espero que sirva, estuve bastantes días buscando la solución a esto.

3 comentarios:

Anónimo dijo...

Gracias por compartir esta información, me ha sido muy útil.

magicperu dijo...

WOW, de veras muuuchas gracias, este error es fatal siempre cuando uno hace pruebas en los navegadores... cuando parece que todo esta quedando bien, abrimos IE6 y sales todo moviso... gracias!

Anónimo dijo...

Muchas gracias por la info.