Anónimo Anónimo

Limpieza de floats en Internet Explorer 7

domingo, 25 de febrero del 2007
obokamanpor obokaman

 Durante los últimos meses, Microsoft nos ha tenido en vilo ( sobretodo a los desarrolladores web ), pendientes del soporte a la especificación de CSS que tendría su nuevo navegador, Internet Explorer 7 . Después de unos 5 años sin publicar una nueva versión, parecía que la cosa iba a salir "fina": El modelo de caja se ha implementado correctamente, se soportan propiedades tan útiles como min/max-width, ... ¿¡Se acabaron las reglas sólo para IE!? No...

Por poner un ejemplo, no se han implementado los pseudo-elementos :before y :after. ¿Trivial? Para nada. Entre otros muchos usos, como la inclusión de elementos que afecten a la presentación de ciertos bloques ( comillas antes y después de elementos cite, pipelines después de listas de enlaces horizontales... ) o la limpieza de floats a través del easy clearing method quedan totalmente inutilizada.

El antiguo hack para explorer es ignorado por el nuevo IE y además, al carecer éste de soporte para :before, tampoco la regla genérica funciona. Esto se traduce en un montón de sitios descuajeringados: el anterior método permitía que aquellos contenedores que tuvieran hijos flotantes obtuvieran una altura correcta, correspondiente a su hijo más alto.

Cuando ya había perdido toda esperanza de disponer, de nuevo, de un método lo más genérico posible que permitiera disponer de un marcado "limpio" para conseguir el deseado efecto... me encontré con el artículo de Roger Johansson, New clearing method needed for IE7?, en que justo se plantea esto mismo, y en el que, a través de la discusión generada por sus lectores, consigue llegar a una versión funcional para IE y que hace uso exclusivamente de CSS.

La solución:

.clearfix:after {
content:".";
display:block;
height:0;
clear:both;
visibility:hidden;
}
.clearfix {display:inline-block;}
/* Hide from IE Mac \*/
.clearfix {display:block;}
/* End hide from IE Mac */

Con un pequeño añadido para IE 6, que se podría implementar de esta forma:

* html .clearfix {height:1px;}

Información adicional:

¿Te pareció interesante este mensaje?

Mensajes relacionados

Deja tu comentario

Deja tu comentario
Necesitas tener javascript activado para poder dejar comentarios

Identifícate en OboLog, o crea tu blog gratis si aún no estás registrado.

De esta forma, además, podrás mostrar tu imagen en los comentarios y no tendrás que rellenar tus datos cada vez.

Sponsors

Comentarios

Plantillas para mail gratis (ana)
holsa ¿como andas? yo bien x suerte bueno chau...(03 sep)
Elegir la mejor combinación de colores, herramientas online gratuitas. (marlyn pavez)
hola sabes kiero que me ayuden por favor compre un living color verde pastel y mi comedor es cafe...(03 sep)
Rediseño de Jquery.com (Oriol)
Ufff! Se les ha ido la mano, creo yo. Me quedo con el diseño anterior....(29 ago)
Crea el código QR de tu web automáticamente (TheDarkLady)
oh, lo intentare, ya habia visto algo parecido en algun sitio, gracias... fue interesante...(28 ago)
Tutorial Photoshop para convertir fotos a ilustraciones POP ART (obokaman)
Lo tienes al final y al principio del artículo, en el enlace ...(27 ago)

Login