2012-08-29 8 views
5


¡Hola! Aquí hay un problema: tengo varios (hasta 5) divs con diferentes alturas. Dentro de esos divs hay portlets, que pueden crecer en altura. Aquí está un ejemplo simplificado:
HTML:
divs flotante con diferentes alturas se pegan al envolver

<div class="container"> 
    <div class="clz">1111111111<br/>1111111111</div> 
    <div class="clz">2222222222<br/>2222222222<br/>2222222222</div> 
    <div class="clz">3333333333<br/>3333333333</div> 
    <div class="clz">4444444444<br/>4444444444</div> 
</div>​ 

aquí usa CSS para ello:

.clz{ 
    float: left; 
}​ 

aquí es jsFiddle, donde se puede ver que: http://jsfiddle.net/eGawU/9/
Cuando puedo reducir mi ventana del navegador ancho, divs están envueltos, lo cual es muy bueno. La parte mala es que 4444444444 se ha quedado atascado en el 2222222 - que no se caiga al inicio de la página:

1111111 2222222 333333 
1111111 2222222 333333 
     2222222 444444 
       444444 

comportamiento deseable es que cuando se produce la envoltura 4444444 se coloca al principio de la página en completamente diferente line :

1111111 2222222 333333 
1111111 2222222 333333 
     2222222 
4444444 
4444444 

Gracias por la atención.

Respuesta

8

Puede usar pantalla: en línea-tabla para esto. Escribe así:

.clz{ 
    display:inline-table; 
} 

Marque esta http://jsfiddle.net/eGawU/13/

Es hasta IE8 & anterior

+0

¡Súper! ¡Muchas gracias! Con 'vertical-align: top;' adicional, todo es exactamente como yo quería. – popfalushi

+0

Si es útil para luego aceptarlo y votar gracias :) – sandeep

+0

Dependiendo del comportamiento que esté buscando y la compatibilidad del navegador necesaria, esta es probablemente la mejor solución. –

0

Retire el flotador. demostración http://jsfiddle.net/eGawU/17/

+0

¿Esa demostración no se relaciona simplemente con quitar el flotador? Reenviar el flotador de su código original simplemente le dará elementos de bloque con un ancho del 100%. – Jimbo

0

Puede trate de envolver los primeros tres divs en otro clz div como este:

<div class="container"> 
    <div class="clz"> 
     <div class="clz">1111111111<br/>1111111111</div> 
     <div class="clz">2222222222<br/>2222222222<br/>2222222222</div> 
     <div class="clz">3333333333<br/>3333333333</div> 
    </div> 
    <div class="clz">4444444444<br/>4444444444</div> 
</div>​ 

Esto hará div 4 no exactamente lo que quiere, pero puede que tenga que anidan más divs si se agrega más columnas.

+0

Realmente no es una respuesta a mi pregunta, pero, invitado, puedo ser malentendido de esa manera. 4444444 o 333333 - no me importa.La pregunta fue sobre envoltura sin problemas desde diferentes alturas, sin envoltura de 4444444. – popfalushi

Cuestiones relacionadas