2009-06-04 12 views
23
<div style="height:0px;max-height:0px"> 
</div> 

Establecer una altura div a 0px no parece funcionar.Altura de Div .: 0px no funciona?

Div se expande para mostrar su contenido, ¿cómo evitamos que esto suceda?

Respuesta

44

Si realmente quiere estar seguro de que no tendrá altura, podría usar algo como esto:

display: block; 
line-height:0; 
height: 0; 
overflow: hidden; 

Si sigue teniendo problemas en IE, también se puede añadir

zoom: 1; 

a ella de una hoja de estilo dirigido a IE con un comentario condicional. Eso activará la propiedad hasLayout en IE.

Y pantalla: ninguno no es lo mismo que establecerlo en altura cero. Basta con ver las diferentes soluciones de clearfix para un caso en el que no eliminarlo del flujo es crucial.

+5

; también querría asegurarse de que el relleno: 0; honestamente la manera más fácil de manejar problemas como este es comenzar siempre con un reinicio.css - hace que la depuración de estas cosas para el cumplimiento de x-browser sea mucho más fácil – knight0323

+2

es posible que desee agregar position: relative; también. parece que también se requiere en algunos casos. – OpaCitiZen

+0

Gracias, esto funcionó para mí. –

20

Conjunto overflow:hidden. De lo contrario, el contenido expandirá el elemento de ajuste.

+3

No, el contenido se desbordará el elemento de envoltura y ser visible fuera de ella. El contenedor no se expandirá (excepto en algunos navegadores de Microsoft (pero no en algunos modos de renderizado)). – Quentin

2

Try overflow: hidden

2

Usted podría intentar agregar "overflow: hidden" al estilo

9

intenta establecer también line-height: 0;

Y si desea ocultar su div por completo, utilice display: none;

+2

Parece que lo que el OP realmente quiere es "display: none;". –

+0

Tengo el mismo requisito, la 'pantalla: ninguna' hizo que funcionase para mí –

1

No ha dicho qué navegador está utilizando, pero estoy asumiendo IE, ya que es el único navegador que conozco de los errores height para min-height. Como todos los demás ya han dicho, overflow:hidden; funcionará, o line-height: 0;, pero solo necesita uno de ellos.

La configuración height: 0; ya habrá disparado IEs hasLayout, por lo que no es necesario zoom:1; en este caso.

2

No estoy seguro de lo que estás tratando de hacer, fuera de contexto, pero intente esto:

display:none; 
overflow:hidden: 
height:0; 
line-height:0; 
border:0; 
margin:0; 
+3

con 'display: none' no se debe indicar ninguna de las otras propiedades –

0
#yiv1734505183 .yiv1734505183portrait{ 
    display:none; 
    font-size:0; 
    max-height:0; 
    line-height:0; 
    padding:0; 
    overflow:hidden; 
} 

@media (min-width:481px){ 
    #yiv1734505183 .yiv1734505183mobile-hide{ 
     display:block; 
     overflow:visible; 
     width:auto !important; 
     max-height:inherit !important; 
     min-height:auto !important; 
    } 
} 
@media (min-width:481px){ 
    #yiv1734505183 .yiv1734505183portrait{ 
     display:none; 
     font-size:0; 
     line-height:0; 
     min-height:0; 
     overflow 
0

Esto funciona para mí:

.zippy{ 
    padding: 0; 
    height: 0; 
    overflow: hidden; 
} 

Gracias.

0

Para mí, en Windows 10, Firefox 58.0.1, sería no ocultar por completo a menos que use esto:

display: block !important; 
line-height: 0 !important; 
height: 0 !important; 
overflow: hidden !important; 
zoom: 1 !important; 
padding: 0 !important; 
margin-bottom: 0; 
border: none; 
Cuestiones relacionadas