css - 组件超出 flex 容器
问题描述
我在设置组件的样式时遇到问题,该组件的高度比它所在的 flex 容器高。我想要实现的是,如果组件的高度比 flex 容器高,则该组件会出现滚动。页脚应始终位于父容器的底部。我知道height: 0
从下面的示例中添加到 table 元素可以解决问题,但这似乎不是解决问题的正确方法。
Stackblitz:https://stackblitz.com/edit/js-myxsza?file=index.html`
.container {
width: 80vw;
height: 50vh;
}
.wraper1 {
background: green;
display: flex;
flex-direction: column;
position: relative;
height: 100%;
}
.title {
margin-bottom: 30px;
}
.body {
flex-grow: 1;
}
.component-wraper {
display: flex;
flex-direction: column;
height: 100%;
overflow: auto;
}
/* table {
height: 0;
} */
<div class="container">
<div class="wraper1">
<div class="title">Title</div>
<div class="body">
<div class="component-wraper">
<table>
<tr><td>1</td></tr>
<tr><td>1</td></tr>
<tr><td>1</td></tr>
<tr><td>1</td></tr>
<tr><td>1</td></tr>
<tr><td>1</td></tr>
<tr><td>1</td></tr>
<tr><td>1</td></tr>
<tr><td>1</td></tr>
<tr><td>1</td></tr>
<tr><td>1</td></tr>
<tr><td>1</td></tr>
<tr><td>1</td></tr>
<tr><td>1</td></tr>
<tr><td>1</td></tr>
<tr><td>1</td></tr>
<tr><td>1</td></tr>
<tr><td>1</td></tr>
<tr><td>1</td></tr>
<tr><td>1</td></tr>
<tr><td>1</td></tr>
</table>
</div>
</div>
<div class="footer">footer</div>
</div>
</div>
解决方案
推荐阅读
- java - java.nio.file.ProviderNotFoundException:未找到提供程序“jar”
- ruby-on-rails - 如何在红宝石中将浮点值四舍五入到百分之一?
- amazon-web-services - 通过 AWS 控制台更新特定 ECS 集群的 AWS IAM 策略
- python - 在pyqt5 GUI中嵌入的matplotlib中显示图像时如何删除图像周围的空白区域
- amazon-web-services - 使用 vscode-tomcat 时出现 TypeError
- javascript - React-router:ProtectedRoute 身份验证逻辑不起作用
- php - 有什么方法可以挂接到“register_shutdown_function”以覆盖“header()”重定向?
- python - 运行 tKinter 代码时出现奇怪的视觉错误
- javascript - 错误可能处理承诺拒绝(React 和 Class)
- powershell - 通过命名属性从导入的 CSV 中获取对象