html - flex-box,保持第一行展开
问题描述
我有一个容器,我需要内部块相互跟随并且表现得像浮动的。我不能使用浮动,因为布局应该在分辨率更改后重新排列。目前,我需要块 1(70% 宽度)和 2(30%)位于同一行,但第二个将自身移动到下一行:
HTML:
<section>
<div>Header</div>
<div>SideRight</div>
<div>Bottom line</div>
</section>
CSS
body * {
box-sizing: border-box;
}
section {
background: #ddd;
display: flex;
flex-direction: column;
max-width:300px;
}
section > div{
padding: 10px;
}
section > div:nth-child(1){
background-color: pink;
width: 70%;
}
section > div:nth-child(2){
background-color: lightgreen;
align-self: flex-end;
width: 30%;
}
section > div:nth-child(3){
background-color: yellow;
}
您可以在此处查看实时示例:https ://plnkr.co/edit/f6LWiQfpRUwYYyW9Dve4?p=preview
那么,有没有可能实现呢?最后,它应该如下所示:
解决方案
您可以添加flex-wrap: wrap;
和section
删除flex-direction: column;
这样的
section {
background: #ddd;
display: flex;
/* flex-direction: column; */
max-width: 300px;
flex-wrap: wrap; //add this
}
如果你想要“底线”填满整行添加flex-grow: 1;
到section > div:nth-child(3)
最终结果将是这样的
section {
background: #ddd;
display: flex;
/* flex-direction: column; */
max-width: 300px;
flex-wrap: wrap; //new
}
section > div:nth-child(3) {
background-color: yellow;
flex-grow: 1; //new
}
推荐阅读
- python - 您如何使用 Python 处理 SSL 证书存储?
- php - 从 Linux 中的 bash 脚本调用 PHP(无脂肪框架)文件给了我“未指定路由”错误
- spring - 如何在邮件/outlook 中格式化表格
- flutter - 如何在 Flutter 中实现录音机?
- django - 自定义 Django makemigrations
- mysql - 优化mysql子查询执行时间
- flutter - 如何在 Flutter 的自定义底栏和 Drop List 中显示不同的语言?
- reactjs - React Day-Picker on react Standalone React App --- 错误 TypeError: f.default.instanceOf is not a function
- regex - Kotlin 中键和值的正则表达式模式
- angular - 在 ngAfterInit 中设置 nativeElement.style.color 在 Angular 中不起作用