在以下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/
答案 0 :(得分:22)
删除float
,它从文档的正常流程中取出元素,并添加另一个包装元素,作为table-row
:
table-cell
,行为类似于<td>
HTML元素
这意味着这需要(虽然我没有验证我的推断)display: table-row
父级,因为td
需要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;
}
参考文献:
答案 1 :(得分:5)