我在父容器<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/
答案 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;
}
答案 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>
的