Dans le code HTML suivant, les div .left et .right ont des hauteurs différentes. Est-il possible de faire les deux div même hauteur sans définir la hauteur. J'ai essayé d'utiliser display: table mais ne fonctionne pas.
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/
Supprimez le float
, qui retire les éléments du flux normal du document, et ajoutez également un autre élément wrapper, pour agir comme table-row
:
table-cell
, se comporte comme le<td>
Élément HTML
Ce qui implique que cela nécessite (même si je n'ai pas vérifié mon inférence) un display: table-row
parent, car un td
nécessite un élément parent 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;
}
Références: