html - Flexbox布局: how to set every item same width in multi rows?

标签 html css flexbox alignment

这是我的 test demo在代码笔中。我希望元素之间保持相同的边距,因此我使用 flex-grow: 1来填充过大的宽度。

但是,最后一行的元素似乎与前一行的宽度不一样。怎么做?

.row{
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
 }
.col{
  min-width: 160px;
  flex-grow: 1;
  margin: 10px 10px;
  background:#eee;
  height: 120px;
}

这就是我想要的,插件使用flex-grow来保持相同的边距 enter image description here

最佳答案

您可以使用calcwidthflex-basis 属性设置为 calc(33.33% - 30px)以便它根据您应用于 col左右边距进行调整- 请参阅下面的演示:

.row{
  display: flex;
  flex-wrap: wrap;
  background: red;
}
.col{
  flex-basis: calc(33.33% - 30px);
  margin: 10px 15px;
  background:#eee;
  height: 120px;
}
<div class="row">
  <div class="col">1</div>
  <div class="col">2</div>
  <div class="col">3</div>
  <div class="col">4</div>
  <div class="col">5</div>
</div>

关于html - Flexbox布局: how to set every item same width in multi rows?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55120477/

相关文章:

javascript - 滚动事件未在可滚动 div 内的 div 上触发

html - 在不移动元素的情况下计算出网格元素

css - 显示为表格的 Div 标签无法按预期工作

javascript - Jquery使选项卡从另一个页面激活

html - 如何在图像顶部显示菜单,标题在图像中间?

html - 如何禁用 Flexbox 中的等高列?

html - 单击 div 2 内的链接应隐藏 outer-div 1

css - 输入 "No file chosen"标题的 Chrome CSS 问题不是继承填充?

html - Bootstrap 4 - 屏幕上的文本位于图像旁边......在智能手机上图像下方的文本

html - 如何右对齐 flex 元素?