У меня есть несколько тегов DIV с различным количеством текстового содержимого.
HTML:
<div id="boxes">
<div id="boxone">
<p>...</p>
</div>
<div id="boxtwo">
<p>...</p>
</div>
<div id="boxthree">
<p>...</p>
</div>
<div id="boxfour">
<p>...</p>
</div>
</div>
Они расположены по схеме "два на два", а их ширина плавная:
CSS:
div#boxes {
width: 100%;
}
div#boxes div {
width: 49.9%;
float: left;
}
Я хочу, чтобы они все были одного роста.
Итак, я перебираю их и нахожу высоту самой высокой. Затем я повторяю цикл и устанавливаю их все на эту высоту.
JQuery:
$(function() {
var maxHeight = 0;
$('div#boxes div').each(function(){
if (maxHeight < $(this).height()) {maxHeight = $(this).height()}
});
$('div#boxes div').each(function(){
$(this).height(maxHeight);
});
});
Это хорошо работает, если высоту div больше не нужно менять.
Но произойдет сбой при изменении размера окна браузера:
Если я (а) сделаю браузер шире, то (б) мой
DIVs становятся шире, затем (с) их текст
содержимое переносится меньше раз, а затем (d)
мои DIV слишком высокие.
Если я (б) сделаю браузер более узким,
тогда (б) мои DIV становятся уже, затем (в)
их текстовое содержимое оборачивается больше, и
тогда (d) мои DIV слишком короткие.
Как мне (1) автоматически изменять размер DIV по высоте их содержимого, как обычно, но также (2) сохранять эти несколько DIV одинаковой высоты?