我已经尝试了一切,但没有javascript我无法实现我的设计师给我的糟糕的布局!
正如你所看到的那样,我必须使用z-index绝对定位div #cbrr-box ,以便正确地位于 #contenuto 之后(其中包含页面内容!!) 现在要解决 #cbrr-box 的可扩展性问题,如果#contenuto的内容长于侧栏 #barra-laterale ,我可以使用下面的代码,但是在相反的情况下不正常,请参阅页面:http://demo.liquidfactory.it/secondopolo/per-informarti
那么如何告诉javascript仅在div侧边栏的最小高度上应用该计算 #barra-laterale ??
需要帮助..请!
function equalHeight(group) {
tallest = 0;
group.each(function() {
thisHeight = $(this).height();
if(thisHeight > tallest) {
tallest = thisHeight = $("#contenuto").height() - 380;
}
});
group.height(tallest);
}
$(document).ready(function() {
equalHeight($(".column"));
});
答案 0 :(得分:0)
问题可能来自这条线:
tallest = thisHeight = $("#contenuto").height() - 380;
目前,它将变量tallest
和thisHeight
都设置为内容区域的高度减去380像素。将其更改为:
tallest = thisHeight;
它会将所有列的大小调整到最高的列的高度。
修改:看起来您的右侧列实际上包含多个列.barra-laterale
的列,在这种情况下您可能想要完全采取另一种方法:
// calculate the total height of the content are and sidebar
var contentHeight = $("#contenuto").height();
var sidebarHeight = 0;
$(".barra-laterale").each(function() { sidebarHeight += $(this).height(); })
if (sidebarHeight > contentHeight) {
$("#contenuto").height(sidebarHeight);
} else {
// extend the last sidebar column to cover the difference between the
// height of the content and the sum of the sidebar heights
var lastSideBarHeight = $(".barra-laterale").last().height();
var heightDifference = contentHeight - sidebarHeight;
$(".barra-laterale").last().height(lastSideBarHeight + heightDifference)
}