固定位置侧边栏不滚动-设置内容的高度

Fixed position sidebar without scrolling - set height to height of content

本文关键字:设置 高度 滚动 定位 位置 侧边栏      更新时间:2023-09-26

我有一个简单的页面,有一个固定的侧边栏(导航)和一个正常滚动的内容区域。边栏位置:固定,内容区域正常。

侧边栏(如果比浏览器高)使用滚动条来显示侧边栏的其余内容。这很酷,它的工作方式和它应该做的一样。

我试图让侧边栏加载,将其高度设置为与内容一样高,这样就不会滚动了。因此,如果侧边栏的高度是2000px,并且加载了所有内容,那么onload的高度设置为2000px,因此没有滚动条。它只会使固定边栏高达2000px。

这是最小身高问题吗?我觉得有一个简单的方法可以做到这一点,但我已经做了很长时间了,我想不出来。我用过scrollHeight,height();等等,并且无法得到解决方案。

感谢

删除css高度以允许div展开,设置overflow:none;

其他类似的问题和答案在这里:

将div设为浏览器窗口的100%高度

这是我从问题中理解的,因为没有提交任何代码

如果你在页面加载后"测量"内容的高度,你可以将侧边栏的高度设置为这个值。

document.ready(function(){
    contentHeight = $("#content").css("height");
    // set sidebar height
    $("#sidebar").css({"height":contentHeight});
});

将它放在页面的末尾,这样它将在页面加载后执行
我不确定这是否会删除滚动条,因为当高度大于视口时,滚动条就会出现。您必须将侧边栏的css设置为溢出:隐藏。