Подтвердить что ты не робот

Сделайте детей divs высотой самого высокого ребенка

У меня есть два дочерних элемента <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/

4b9b3361

Ответ 1

Одним из решений является изменение отображаемого значения от 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;
}

Пример

Ответ 2

Другим решением является использование 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 для установки высоты вручную.

Ответ 3

jquery version: FIDDLE

var maxheight = 0;

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

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

EDIT: просто заметили, что вы не имеете дело с высотой <div>, но <p>