css - 背景在滚动 flexbox 内部元素中被切断
问题描述
我试图让两个元素占据滚动 flexbox 父级的全部高度:
- 我在滚动的 flexbox 父级中有两个 div
- 然后用固定高度的父级再次包装
- 当内容溢出初始高度时,两个div的背景不占满高度
固定高度的包装器不能设置为滚动
.wrapper {
height: 200px; // Cannot be set to scroll, needs to be fixed height
}
.container {
display: flex;
flex-direction: row;
height: 100%;
overflow-y: scroll;
}
.sidebar {
background: orange;
}
.main {
flex: 1;
background: grey;
}
body {
margin: 0
}
<div class="wrapper">
<div class="container">
<div class="sidebar">
<p>Sidebar</p>
<ul>
<li>Item</li>
<li>Item</li>
<li>Item</li>
<li>Item</li>
<li>Item</li>
<li>Item</li>
<li>Item</li>
<li>Item</li>
<li>Item</li>
<li>Item</li>
<li>Item</li>
<li>Item</li>
</ul>
</div>
<div class="main">
<p>Main</p>
</div>
</div>
</div>
解决方案
你在那里有奇怪的布局和限制。
但是你可以添加flex-wrap: wrap
解决.container
问题
.wrapper {
height: 200px;
}
.container {
display: flex;
flex-direction: row;
height: 100%;
overflow-y: scroll;
flex-wrap:wrap;
}
.sidebar {
background: orange;
}
.main {
flex: 1;
background: grey;
}
body {
margin: 0
}
<div class="wrapper">
<div class="container">
<div class="sidebar">
<p>Sidebar</p>
<ul>
<li>Item</li>
<li>Item</li>
<li>Item</li>
<li>Item</li>
<li>Item</li>
<li>Item</li>
<li>Item</li>
<li>Item</li>
<li>Item</li>
<li>Item</li>
<li>Item</li>
<li>Item</li>
</ul>
</div>
<div class="main">
<p>Main</p>
</div>
</div>
</div>
推荐阅读
- python - 从拆分命令管道输出到另一个函数
- ruby-on-rails - 预加载与记录子集的 has_many 关联
- apache-spark - 理解一个窗口函数的例子
- go - 当有未知数量的输入时如何关闭通道?
- sql - SQL - 按月计算订单数量的差异
- java - 如何使用多个消费者来消费来自多个 SQS 队列的消息?
- libreoffice-calc - 如何使用 =sheet() 值中的内部参考号来参考 Libreoffice 计算表
- flutter - Flutter http.get('url') 参数出现错误它不接受 URL 字符串
- .htaccess - .htaccess 用页面名称斜杠 GET 参数重写 url
- java - 使用带有 Shiro 的 RememberMe 令牌标记不匹配