2010-05-28 10 views
5

a clear: both el contenido de mi yo uso esto:div Altura: 0 problema en IE

CSS:

.clr { 
    clear: both; 
    height: 0; /* i have tried 0.001em to */ 
    line-height: .001em; 
    overflow: hidden; 
} 

HTML:

<div class="clr">&nbsp;</div> 

funciona perfectamente en cada navegador. Pero en IE 7 & 8 el div todavía tiene una altura de unos pocos píxeles. ¿Cómo puedo evitar esto?

+0

Probablemente duplicado de http://stackoverflow.com/questions/950829/div-height0px-does-not- trabajo – Jujjuru

+0

no, no es así. Mi desbordamiento ya está oculto, y mi línea está establecida en – meo

Respuesta

8

Es un problema de fuente IE.

Añadir

font-size: 0; 

a su declaración CSS

+0

thx para eso. este era el problema – meo

0

Usando div vacíos para facilitar la presentación es generalmente una mala práctica. Puede considerar cambiar el CSS de los elementos que debe borrar. Una gran parte del tiempo de limpieza puede ser reemplazado por el uso de inline-block. Ver http://google.co.uk/notebook/public/06909424369135510368/BDROpQwoQ4-fhwfsj#SDRZLQgoQtfHkwfsj.

Rich

+0

sé que es una mala práctica, no he hecho el sitio, solo tengo que resolver este problema. – meo

+0

Es suficiente, sé que el dolor demasiado bien. – kim3er

4

sólo viene a través de esto y la respuesta de Ben dio tiene sentido pero era incompleta en diciembre de 2011 en IE 7 (soporte heredado lo exija.

font-size:0; es un buen comienzo, pero inicialmente no lo hacen por mí.

a lo largo de esta línea de pensamiento, es necesario tener en cuenta de altura de línea Si establece la altura de línea más arriba en el DOM, probablemente debido a la naturaleza de estas cosas, se hereda (como me estaba pasando a mí)

Si ha establecido la altura de línea en un elemento primario, asegúrese de establecer explícitamente en el niño que está tratando de utilizar para forzar la clara:

font-size:0; 
line-height:0; 

-Brandt