CSS使两个div与显示表的高度相等

时间:2012-07-20 20:06:31

标签: html css css-tables

在以下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/

2 个答案:

答案 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;     
}​

JS Fiddle demo

参考文献:

答案 1 :(得分:5)

这样的东西?

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

我取出了浮动属性