Как установить высоту " div " такой же с его соседом?
Я использую bootstrap в качестве моей структуры CSS. Теперь у меня есть динамический контент в левом div и статический контент в правом div. Я хочу, чтобы высота правой стороны div автоматически меняла базу на высоту левой стороны div. Это возможно?
<div class="container-fluid">
<div class="row-fluid">
<div class="span5 offset1">
<div class="well">
Dynamic Content
</div>
</div>
<div class="span5">
<div class="well" style="height: 330px; overflow-x: hidden; overflow-y: scroll;">
Static Content
</div>
</div>
</div>
4 ответов
Я думаю, что jQuery-лучшее решение для достижения этого. Проверьте мою скрипку:
$(document).ready(function() {
var dynamic = $('.dynamic');
var static = $('.static');
static.height(dynamic.height());
});
вы могли бы сделать этой
<div class="wrapper">
<div class="dynamic">
Dynamic Line <br />
Dynamic Line <br />
Dynamic Line <br />
Dynamic Line <br />
Dynamic Line <br />
Dynamic Line <br />
Dynamic Line <br />
Dynamic Line <br />
</div>
<div class="static">
Static<br />
Static<br />
</div>
</div>
в CSS
.wrapper {
position: relative;
width: 400px;
overflow: auto;
}
.dynamic {
position: relative;
background-color: yellow;
width: 200px;
}
.static {
position: absolute;
background-color: orange;
width: 200px;
float: left;
left: 200px;
top: 0px;
bottom: 0px;
right: 0px;
}
решение зависит от поведения в случае, когда больше, чем dynamic
один. - "Я действительно думаю, что ты хочешь второй сценарий.]
Примечание: оба случая являются чистыми CSS, и без указания какой-либо высоты вообще. кроме того, не указывая маржу любого рода, вы можете изменить ширину столбца по своему желанию, без необходимости снова и снова вычислять маржу/позицию..
Если вы хотите динамический столбец для увеличения, и быть как статическая высота: таким образом, вы действительно хотите, чтобы столбцы всегда были одинаковой высоты. и это может быть легко достигнуто с помощью стиля компоновки таблицы CSS. в таком случае: смотрите это Скрипка (скрипт предназначен только для добавления динамического контента, это чистое решение CSS)
Если вы хотите, чтобы динамический столбец растягивался только на высоту содержимого, а статический-на ту же высоту + скроллер. в этом случае: см. это Скрипка (опять же: скрипт предназначен только для добавления динамического контента, это чистое решение CSS)
в обоих случаях статический столбец растет, если динамический становится длиннее.
используйте Javascript / jQuery, чтобы найти, какой ящик имеет самую большую высоту. Затем установите одинаковую высоту для всех divs.
<script type="text/javascript">
jQuery(document).ready(function($) {
var description = jQuery("div.description");
var big =0;
description.each(function(index, el) {
if(jQuery(el).height() > big)
big =jQuery(el).height(); //find the largest height
});
description.each(function(index, el) {
jQuery(el).css("min-height", big+"px"); //assign largest height to all the divs
});
});
</script>