css - 使用 CSS Flexbox 的 `justify-content:space-between` 但最后一行左对齐

标签 css flexbox

<分区>

我有一个简单的盒子网格,我想用 Flexbox 响应式地隔开它。

盒子的数量是由用户生成的,所以我需要一些动态工作的东西。 Here's a codepen snippet我所在的位置:

<div class="wrap">
  <div class="thumb"></div>
  <div class="thumb"></div>
  <div class="thumb"></div>
  <div class="thumb"></div>
  <div class="thumb"></div>
  <div class="thumb"></div>
  <div class="thumb"></div>
  <div class="thumb"></div>
  <div class="thumb"></div>
</div>

CSS:

.wrap{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
}

.thumb{
  width:150px;
  height:150px;
  background-color:black;
  margin-bottom:20px;
}

上面的代码看起来像这样:

Flexbox last line left-align

这是我想要的样子:

enter image description here

如何使用 flexbox 实现这一点?我想避免 % 边距,并尽可能让 flexbox 在这里完成所有工作,因为它在响应式设置中工作得非常好。

最佳答案

好吧,你可以做到,但要以破坏一点 DOM 为代价。 插入高度为 0 的填充元素(与将适合一行的最大元素数一样多),你就拥有了它

.wrap{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
}

.thumb{
  width:150px;
  height:150px;
  background-color:black;
  margin-bottom:20px;
}


.filler{
  width:150px;
  height:0px;
  margin: 0px;
}
<div class="wrap">
  <div class="thumb"></div>
  <div class="thumb"></div>
  <div class="thumb"></div>
  <div class="thumb"></div>
  <div class="thumb"></div>
  <div class="thumb"></div>
  <div class="thumb"></div>
  <div class="thumb"></div>
  <div class="thumb"></div>
  <div class="filler"></div>
  <div class="filler"></div>
  <div class="filler"></div>
  <div class="filler"></div>
  <div class="filler"></div>
  <div class="filler"></div>
  <div class="filler"></div>
  <div class="filler"></div>
  <div class="filler"></div>
</div>

关于css - 使用 CSS Flexbox 的 `justify-content:space-between` 但最后一行左对齐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32205152/

相关文章:

html - 部分/Div 的重叠

html - 高度在 Chrome 和 Firefox 中呈现不同

html - 使图像缩放以在适合 flexbox 时保持其纵横比

css - Flex box 在 IMG 后面添加 BG/IMG

html - 使用 flexbox 排列 div

javascript - 文本框中的日期和时间选择器

css - 如何在子元素 bg-color 上显示父元素的 bg-image?

html - 标签自动宽度使 td 更宽

javascript - 菜单转换

html - 我可以在 html 中使用 <ul> 和 <li> 以表格形式呈现吗?