次のHTMLでは、div .leftと.rightの高さが異なります。高さを定義せずに両方のdivを同じ高さにすることは可能ですか? display:tableを使用してみましたが、機能しません。
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/
float
を削除します。これにより、ドキュメントの通常のフローから要素が取り出され、table-row
として機能する別のラッパー要素も追加されます。
table-cell
、<td>
HTML要素のように動作します
これは、td
にはtr
親要素が必要であるため、これにはdisplay: table-row
親が必要であることを意味します(推論は検証していません)。
.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;
}
参照: