2012-08-29 13 views
5


Ciao! Ecco un problema: ho diversi (fino a 5) div con diverse altezze. Dentro quelle div sono portlet, che possono crescere in altezza. Ecco un esempio semplificato:
HTML:
I div flottanti con altezze diverse sono bloccati mentre si avvolge

<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>​ 

Ecco CSS per esso:

.clz{ 
    float: left; 
}​ 

Ecco jsfiddle, dove si può vedere: http://jsfiddle.net/eGawU/9/
Quando ho diminuisco la mia finestra del browser larghezza, le div sono avvolte, il che è molto buono. La parte negativa è che 4.444.444,444 mila è bloccato a 2.222.222 - non cade per l'inizio della pagina:

1111111 2222222 333333 
1111111 2222222 333333 
     2222222 444444 
       444444 

comportamento desiderabile è che quando si verifica involucro 4444444 è posto all'inizio della pagina in linea completamente diversa :

1111111 2222222 333333 
1111111 2222222 333333 
     2222222 
4444444 
4444444 

Grazie per l'attenzione.

risposta

8

È possibile utilizzare la visualizzazione : tabella in linea per questo. Scrivi come questo:

.clz{ 
    display:inline-table; 
} 

Scegli questa http://jsfiddle.net/eGawU/13/

E 'fino a IE8 & sopra

+0

Super! Grazie mille! Con ulteriore 'vertical-align: top;' tutto è esattamente come volevo. – popfalushi

+0

Se è utile accettarlo e votare grazie :) – sandeep

+0

A seconda del comportamento che stai cercando e del supporto del browser necessario, questa è probabilmente la soluzione migliore. –

0

Rimuovere il galleggiante. demo http://jsfiddle.net/eGawU/17/

+0

Questa demo non riguarda semplicemente la rimozione del float? Rimuovendo il float dal suo codice originale otterrai semplicemente elementi di blocco del 100% di larghezza. – Jimbo

0

È possibile provare avvolgendo i primi tre div in un altro clz div come questo:

<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>​ 

Questo renderà div 4 fanno esattamente ciò che si vuole, ma si può avere a nido più div se si aggiunge più colonne.

+0

Non è davvero una risposta alla mia domanda, ma, io ospite, posso essere frainteso in questo modo. 4444444 o 333333 - non ha importanza per me.La domanda riguardava il wrapping senza problemi da diverse altezze, non l'involucro di 4444444. – popfalushi

Problemi correlati