让孩子们成为最高孩子的身高

时间:2013-05-16 18:33:14

标签: css css3

我在父容器<div>中有两个子<div>元素,如下所示:

<div class="row">
    <div class="item">
        <p>Sup?</p>
    </div>
    <div class="item">
        <p>Sup?</p>
        <p>Wish that other guy was the same height as me</p>
    </div>
</div>

我尝试了以下CSS:

.item {
    background: rgba(0,0,0,0.1);
    display: inline-block;
}

.row {
    border: 1px solid red;
}

如何让两个孩子(div.item)成为最高孩子的身高?

jsFiddle:http://jsfiddle.net/7m4f7/

3 个答案:

答案 0 :(得分:19)

一种解决方案是将后代inline-block元素的显示值从table-cell更改为div.item

.row {
    border: 1px solid red;
    display: table;
    border-spacing: 20px; /* For controlling spacing between cells... */
}
.item {
    background: rgba(0,0,0,0.1);
    display: table-cell;
}

Example

答案 1 :(得分:9)

另一种解决方案是使用flexbox:http://jsfiddle.net/7m4f7/4/

.item {
    background: rgba(0,0,0,0.1);
    -webkit-box-flex: 1;
    -moz-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
}

.row {
    border: 1px solid red;
    display: -webkit-box;
    display: -moz-box;
    display: -webkit-flexbox;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
}

但是,支持有限(但越来越好!)请参阅http://caniuse.com/flexbox

否则您需要使用javascript手动设置高度。

答案 2 :(得分:9)

jquery版本: FIDDLE

var maxheight = 0;

$('div div.y').each(function () {
    maxheight = ($(this).height() > maxheight ? $(this).height() : maxheight); 
});

$('div div.y').height(maxheight);

编辑:刚刚注意到你没有处理<div>的高度,但是<p>