您需要设置侧边栏的高度。现在,您的侧边栏与您的文本块一样高,并在视口下方运行(但您看不到)。如果您将其高度设置为 100%(或其他),如果无法一次显示其所有内容,侧边栏将显示滚动条。
所以你需要改变这个:
div#fixed-div {
position: fixed;
left: 0;
top 80px;
width: 260px;
background-color: silver;
overflow-y: scroll;
}
对此:
div#fixed-div {
position: fixed;
left: 0;
top 80px;
width: 260px;
background-color: silver;
overflow-y: scroll;
height: 100%;
}
编辑:
如果您想要一个具有最大浏览器支持的解决方案(甚至是较旧的浏览器),您将需要 JavaScript。这是一个依赖于 jQuery 的解决方案:
CSS:
* {
margin: 0;
padding: 0;
}
html, body {
height: 100%;
}
div#header-div {
height: 90px;
background-color: lime;
}
div#fixed-div {
position: fixed;
width: 260px;
background-color: silver;
overflow-y: scroll;
}
JavaScript:
var bodyHeight = $('body').height();
var headerHeight = $('#header-div').height();
var sidebarHeight = bodyHeight - headerHeight;
$('#fixed-div').height(sidebarHeight);
工作 JSFiddle:http: //jsfiddle.net/nH7xR/