这是我使用的代码,用于实现上述布局:
.header {
height: 50px;
}
.body {
position: absolute;
top: 50px;
right: 0;
bottom: 0;
left: 0;
display: flex;
}
.sidebar {
width: 140px;
}
.main {
flex: 1;
display: flex;
flex-direction: column;
}
.content {
flex: 1;
display: flex;
}
.column {
padding: 20px;
border-right: 1px solid #999;
}
<div class="header">Main header</div>
<div class="body">
<div class="sidebar">Sidebar</div>
<div class="main">
<div class="page-header">Page Header. Content columns are below.</div>
<div class="content">
<div class="column">Column 1</div>
<div class="column">Column 1</div>
<div class="column">Column 1</div>
</div>
</div>
</div>
我省略了用于样式的代码,您可以在这个笔记本中看到所有内容。
上述方法可行,但当content
区域的内容溢出时,整个页面都会滚动。我只想让内容区域本身滚动,因此我将overflow: auto
添加到content
div中。
现在问题是列本身不会延伸超过其父元素的高度,所以边框也被切断了。
如何设置content
区域独立滚动,同时仍然使其子元素超出content
框的高度?