Мне нужно установить одинаковую высоту для серии div внутри другой оболочки div. Проблема в том, что я не хочу одинаковую высоту на всех них. Тип страницы имеет 3 столбца, а плавающие div могут иметь ширину 1, 2 или 3 столбца. Divs плавают влево, поэтому следующий пример даст мне три ряда div в моей оболочке. Как я могу установить одинаковую высоту на div, которые находятся в одном ряду? В моем примере я хочу, чтобы nr 1 и 2 имели одинаковую высоту, а 3, 4 и 5 - другую равную высоту? Я не могу знать заранее, сколько там дел, или как они широки или высоки. Редактировать: Они могут быть, например, шириной 300, 600 или 900 пикселей и шириной страницы 900px
<div id="wrapper">
<div class="one-wide">nr1</div>
<div class="two-wide">nr2</div>
<div class="one-wide">nr3</div>
<div class="one-wide">nr4</div>
<div class="one-wide">nr5</div>
<div class="three-wide">nr6</div>
</div>
Я думаю, мне как-то нужно выяснить, когда добавленная ширина div-ов равна полной ширине страницы, и установить равную высоту для них. Затем сделайте то же самое на следующих делах. Но я не могу обернуть голову вокруг этого. В настоящее время я просто использую это, чтобы установить высоту дочерних элементов оболочки:
$.fn.equalHeights = function(px) {
$(this).each(function(){
var currentTallest = 0;
$(this).children().each(function(i){
if ($(this).height() > currentTallest) { currentTallest = $(this).height(); }
});
// for ie6, set height since min-height isn't supported
if ($.browser.msie && $.browser.version == 6.0) { $(this).children().css({'height': currentTallest}); }
$(this).children('div').css({'min-height': currentTallest});
});
return this;
};