css - 内容太宽时 Flexbox 不换行
问题描述
我有一个带有 flexbox 的两列布局,并flex-wrap: wrap
设置在列的父级上。但是,即使内容明显比列设置的宽度百分比宽,列也不会换行。当内容比百分比宽度宽时,如何让列换行?
.wrapper {
display: flex;
flex-wrap: wrap;
height: 100px;
width: 300px;
}
.left {
width: 60%;
background-color: lightblue;
}
.right {
width: 40%;
background-color: lightcoral;
}
<div class="wrapper">
<div class="left">
<table><tbody>
<tr><td>Column 1</td><td>Column 2</td><td>Column 3</td><td>Column 4</td></tr>
</tbody></table>
</div>
<div class="right"></div>
</div>
解决方案
列没有换行,因为列没有增长。您可以通过将width
列的属性更改为属性来解决此问题flex-basis
。flex-basis 是 flex 计算的起点,但宽度会根据需要进行调整。有关更多详细信息,请参阅flex-basis 和 width 之间的区别。
.wrapper {
display: flex;
flex-wrap: wrap;
height: 100px;
width: 300px;
}
.left {
flex-basis: 60%;
background-color: lightblue;
}
.right {
flex-basis: 40%;
background-color: lightcoral;
}
<div class="wrapper">
<div class="left">
<table><tbody>
<tr><td>Column 1</td><td>Column 2</td><td>Column 3</td><td>Column 4</td></tr>
</tbody></table>
</div>
<div class="right"></div>
</div>
推荐阅读
- c# - 依赖注入和通用 Windows 窗体 C# 存储库
- android - 付款方式中的兑换代码选项未显示在我的应用程序中。安卓计费
- querydsl - 在 mysema 查询中使用 replace 时,正确的表达式不是有效的表达式
- rstudio - Python 块在 r-markdown 中回显,但不是 r-notebook
- javascript - 为什么我对相同数字的逻辑比较返回错误?
- python - is there a proper way to replace the value in dataframe with another in efficient way?
- swift - 是否可以让 List 数组在 swiftUI 中水平加载?
- python - Selenium 脚本根据是否使用默认的 Firefox 配置文件执行不同的操作
- sql - 创建检查约束时如何替换变量?
- flutter - 在 dart 中引用另一个类