我基本上在网站上使用 3 列布局。我想要实现的是中间(内容)列的高度调整到右列(侧边栏),所以中间列右侧的边框到达页面底部。此外,我还希望左列将其高度调整为其他列,并在页面底部用背景图像单元填充它。
网站: http: //www.massageforum.be
这是我到目前为止所做的(panel_left = 带有背景图像的左列,panel_right 是 div 内容(中间列)和侧边栏(右列)的周围 div):
function setDivHeight() {
//set height of content according to sidebar if content is smaller than sidebar
var DivHeightSidebar = document.getElementById('sidebar').offsetHeight;
var DivHeightContent = document.getElementById('content').offsetHeight;
if(DivHeightContent < DivHeightSidebar)
{
document.getElementById('content').style.height = DivHeightSidebar + 'px';
}
//set height of panel_left according to panel_right so background image reaches until bottom of page
var DivHeight = document.getElementById('panel_right').offsetHeight;
document.getElementById('panel_left').style.height = DivHeight + 'px';
}
</body>
在标签之前的每个页面上都会调用此函数。
问题是有时有效,但有时无效。在某些情况下,内容列的高度会调整为侧栏列的高度,尽管它应该更长并且内容不再适合。截图: http: //www.massageforum.be/Massageforum1.png
此外,有时左列的高度未正确调整为 panel_right 的高度。
我在 Chrome、Firefox 和 Safari 中看到了这种行为;没有测试其他浏览器。
有关如何使此功能更强大的任何建议?