html - 如何在 flexbox 布局中每行显示 4 个 div?
问题描述
我试图每行显示 4 个框。box1
box2
box3
box4
. 我只使用 flexbox 方法。下面是我正在使用的 HTML 和 CSS 代码。
.parent {
display: flex;
flex-wrap: wrap;
}
.parent>.child {
flex: 1 0 21%;
}
<div class="parent">
<div class="child box1">A Child</div>
<div class="child">
<div class="box2">B Child 1</div>
<div class="box3">B Child 2</div>
<div class="box4">B Child 3</div>
<div class="box5">B Child 4</div>
<div class="box6">B Child 5</div>
<div class="box7">B Child 6</div>
</div>
<div class="child box8"></div>
</div>
但是div1
并div8
没有定位。
解决方案
这是根据div
他们在一行中占据的空间调整每行的孩子宽度的方法:
您需要选择每一个
div
,结果将基于flex-grow
您设置的所有属性编号的平均值。
请注意,该属性 是flex:
和 的 组合。flex-grow
flex-basis
flex-shrink
你可以在 css-tricks.com 上阅读更多关于使用 CSS 的Flexbox
.container {
display: flex;
flex-direction: column;
}
.row {
display: flex;
flex-direction: row;
justify-content: space-around;
background-color: lightgray;
text-align: center;
}
.row>div:nth-child(1) {
border: 1px solid black;
flex: 1;
margin: 2px;
}
.row>div:nth-child(2) {
border: 1px solid black;
flex: 2;
margin: 2px;
}
.row>div:nth-child(3) {
border: 1px solid black;
flex: 1;
margin: 2px;
}
.row>div:nth-child(4) {
border: 1px solid black;
flex: 3;
margin: 2px;
}
<div class="container">
<div class="row">
<div>some text</div>
<div>some text</div>
<div>some text</div>
<div>some text</div>
</div>
<div class="row">
<div>some text</div>
<div>some text</div>
<div>some text</div>
<div>some text</div>
</div>
</div>
推荐阅读
- python - 在 Python 中使用 pd.Series.value_counts。使用 numpy.where、numpy.unique 替换数组
- java - 使用本地数据库的 WSO2 API Manager 最终用户自定义身份验证策略
- reactjs - 使用 React 测试库测试嵌套的 JSX
- python - 如何在 PyQtWebEngine 中启用隐身模式?
- tensorflow-federated - 使用参与者的泊松子抽样联合学习过程
- regex - Apache NiFi:如何根据名称从最新目录中获取文件?
- javascript - 如何在接口中未定义的打字稿类中插入属性
- pdf - 从数据表中的一行访问另一行的信息
- python - Try 和 except 的语法无效
- python - 使用外键创建 SQLAlchemy 列