tl;博士- 添加html, body {height:100%;}
到您的 CSS。
CSS 中的百分比值是从某个已经声明了高度的祖先继承而来的。在你的情况下,你需要告诉你侧边栏的所有父母都是 100% 的高度。我假设那#sidebarBack
是body
.
本质上,您上面的代码告诉#sidebarBack
它是其父级的 100% 高度。它的父级(我们假设)是,所以你也body
需要设置height: 100%;
。body
然而,我们不能止步于此;body
从 继承高度html
,所以我们还需要设置height: 100%;
on html
。我们可以在这里停下来,因为html
它继承了它的属性viewport
,它已经声明了高度100%
。
这也意味着如果你最终把#sidebar
另一个放在里面div
,那div
也需要height:100%;
。
这是一个更新的 JSFiddle。
将您的 CSS 更改为:
html, body {
height:100%;
}
#sidebar {
background: rgba(20, 20, 20, .3);
width: 100px;
height: 100%;
left: 0;
float:left;
}
section#settings {
width:80%;
float:left;
margin-left:100px;
position:fixed;
}