2012-07-20 13 views
12

Nel seguente codice HTML, div .left e .right hanno altezze diverse. È possibile rendere entrambe le div stesse della stessa altezza senza definire l'altezza. Ho provato a usare display: table ma non funziona.CSS che creano due div all'altezza con tabella di visualizzazione

HTML:

<div class="wrap"> 

    <div class="left"> 
     Lorem  
    </div> 

    <div class="right"> 
     Lorem ipsum dolor sit amet, consectetur adipiscing elit. 
    </div> 

</div> 

CSS:

.wrap{ 
    overflow:hidden; 
    width:250px; 
    display: table; 
    border-collapse: collapse; 
} 


.left{ 
    width:100px; 
    float:left; 
    display: table-cell; 
    border-bottom:1px solid green;  
} 


.right{ 
    width:150px; 
    float:left; 
    border-bottom:1px solid red; 
    display: table-cell;  
} 

jsfiddle: http://jsfiddle.net/fJbTX/1/

risposta

19

Rimuovere il float, che prende gli elementi di flusso normale del documento, e anche aggiungere un altro elemento di involucro, per fungere da table-row:

table-cell, si comporta come l'elemento HTML <td>

Che implica che questo richiede (anche se non ho verificato la mia inferenza) un genitore display: table-row, come td richiede un elemento genitore tr.

.wrap{ 
    overflow:hidden; 
    width:250px; 
    display: table; 
    border-collapse: collapse; 
} 

.row { 
    display: table-row; 
} 
.left{ 
    width: 50%; 
    display: table-cell; 
    background-color: #0f0; 
} 


.right{ 
    width: 50%; 
    background-color: #f00; 
    display: table-cell;  
}​ 

JS Fiddle demo.

Riferimenti:

+2

Non hai bisogno di un div con 'display: table-row', il browser lo aggiungerà. http://stackoverflow.com/questions/22179502/is-it-valid-to-use-css-table-cell-with-no-table-row – lefoy

+0

Se float viene aggiunto da qualche altra parte nel foglio di stile. Puoi aggiungere al tuo .left e .rigth divs la proprietà 'float: none' per cancellare l'effetto di quel float. – Mohsin

4

qualcosa di simile?

http://jsfiddle.net/fJbTX/3/

ho tirato fuori la proprietà float

+2

Rimuovere il galleggiante è stato risolto per me. La cosa divertente è che ho dovuto ricaricare la pagina affinché le modifiche diventino effettive, usando Firebug per rimuovere il float non ha fatto sì che le "celle" diventassero alla stessa altezza. – SeanKendle

Problemi correlati