html - CSS flex 和 space-between 动态
问题描述
现在我的代码显示 4 列 div。每个 div 的宽度为 47%。如果您只有 2 个列 div,则它可以完美运行。
但是,如果您有 4 个列 div,如何在不关闭“flex”div 然后打开另一个“flex”div 的情况下使每行有 2 个 div?
如果我有 12 个列 div,如何在每行只有 2 个 div 的情况下动态执行?
.flex {
display: flex;
display: -webkit-box;
display: -moz-box;
display: -ms-flexbox;
display: -webkit-flex;
justify-content: space-between;
}
.column {
padding: 10px;
border: 1px solid red;
width: 47%;
}
<div class="flex">
<div class="column">Hi</div>
<div class="column">Hi</div>
<div class="column">Hi</div> <!-- This should be a new row... -->
<div class="column">Hi</div>
</div>
解决方案
您必须为包装器设置一个维度,而不是为所有列提供 47% 的弹性基础,并向容器添加一个 wrap 属性:
.flex {
display: flex;
display: -webkit-box;
display: -moz-box;
display: -ms-flexbox;
display: -webkit-flex;
width: 100%;
flex-wrap: wrap;
}
.column {
padding: 10px;
border: 1px solid red;
flex: 0 0 47%;
}
<div class="flex">
<div class="column">Hi</div>
<div class="column">Hi</div>
<div class="column">Hi</div> <!-- This should be a new row... -->
<div class="column">Hi</div>
推荐阅读
- c - 使用 malloc 读取嵌套结构值
- ms-access - Microsoft Access 创建带格式的键值列(查找)
- python - 通过 Dockerfile 安装 openvino 和 opencv,opencv 不使用 dockerfile 构建后端/即
- api-design - API 响应失败时数据库回滚
- split - 将一列分成多个变量并使 df 长
- validation - 我应该采取哪些步骤来像浏览器一样手动验证 SSL 证书?
- java - 通过 Java 在 google 上搜索字符串并提交
- bash - -bash: ghci: 找不到命令(Haskell 交互式 shell,Haskell 安装)
- gitlab - Gitlab中的范围标签作为徽章
- c++ - C++ 打印带小数的数字