css - flex 盒 : Align last row to grid

标签 css flexbox grid-layout

我有一个简单的 flex-box 布局,容器如下:

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

现在我希望最后一行中的元素与其他元素对齐。应该使用justify-content: space-between;,因为网格的宽高是可以调整的。

目前看来

The item in the bottom right should be in the middle

在这里,我希望右下角的元素位于“中间列”中。实现该目标的最简单方法是什么?这里有小jsfiddle这表明了这种行为。

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

.exposetab {
  width: 100px;
  height: 66px;
  background-color: rgba(255, 255, 255, 0.2);
  border: 1px solid rgba(0, 0, 0, 0.4);
  border-radius: 5px;
  box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2);
  margin-bottom: 10px;
}
<div class="exposegrid">
  <div class="exposetab"></div>
  <div class="exposetab"></div>
  <div class="exposetab"></div>
  <div class="exposetab"></div>
  <div class="exposetab"></div>
  <div class="exposetab"></div>
  <div class="exposetab"></div>
  <div class="exposetab"></div>
  <div class="exposetab"></div>
  <div class="exposetab"></div>
  <div class="exposetab"></div>
  <div class="exposetab"></div>
  <div class="exposetab"></div>
  <div class="exposetab"></div>
</div>

最佳答案

添加 ::after自动填充空间。无需污染您的 HTML。这是一个显示它的codepen:http://codepen.io/DanAndreasson/pen/ZQXLXj

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

.grid::after {
  content: "";
  flex: auto;
}

关于css - flex 盒 : Align last row to grid,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41983171/

相关文章:

javascript - Angular ng-repeat,重新排序动画幻灯片

css - Bootstrap 3 表格列宽控制

css - <fieldset> 上的网格布局... chrome 上的错误?

css - Twitter Bootstrap 网格 : is it possible to simulate smaller screen by adding class to container?

java - 我应该使用什么布局来获得我想要的 GUI?

javascript - CSS结束动画?

html - 居中一个没有设置宽度的div容器

html - 在这种情况下如何将 div 专门居中放置在我的容器中?

html - 如何使Flex容器适合内容

css - 像在发布软件中一样在 css 中的元素之间线程化