css - 如何在居中的 flexbox div 中左对齐元素?

标签 css flexbox

<分区>

我是 flexbox 的新手,正在尝试理解它。我正在尝试将包含换行元素的 div 居中,但也在其中左对齐这些元素。

我这里有一个代码笔 (https://codepen.io/anon/pen/GOWBxY),但所有元素都居中!

body {
  margin: 0px;
}

.container .card {
  padding: 20px 20px;
  margin: 1em;
  background: #ff6a6a;
}

.container {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-wrap: wrap;
  flex-direction: row;
  background: #f5f5f5;
  padding: 50px 0px;
  width: 100%;
}

.cardTitle {
  height: 75%;
}

.card {
  min-height: 8em;
  width: 25%;
  box-shadow: 0 0 1em #ccc;
}
<div class="container">
  <div class="card">
    <div class="cardTitle">Hi</div>
  </div>
  <div class="card">
    <div class="cardTitle">Hi</div>
  </div>
  <div class="card">
    <div class="cardTitle">Hi</div>
  </div>
  <div class="card">
    <div class="cardTitle">Hi</div>
  </div>
  <div class="card">
    <div class="cardTitle">Hi</div>
  </div>
</div>

最佳答案

justify-content 用于对齐其 元素,而不是元素本身。

正如@VXp 已经说过的,您可以注释掉 justify-content: center,因为 justify-content: flex-start 已经是默认值。

此外,如果你想将 .container 居中,

  1. 添加边距:0 auto

  2. 或者您可以将 display: flexjustify-content: center 给父元素,在您的例子中是 body .

尽管您的 .container 似乎不会居中,因为它的 width 值为 100%。

关于css - 如何在居中的 flexbox div 中左对齐元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47232981/

相关文章:

css - 对高度、位置和转换使用 css 转换时出现奇怪的背景/边框行为

html - 我如何连续显示我的元素(使用 php 和 bootstrap 显示数据库中的所有元素)

html - Edge 不会在 flexbox 中拉伸(stretch) iframe

html - Flex children 在较小的屏幕上被切断

css - 使用 React Native 模拟内联 block

python - 属性错误 : 'InstrumentedList' object has no attribute 'get'

css - flex 元素覆盖最大宽度属性

html - 垂直对齐 flexbox

javascript - 列表的响应包装器

HTML:如何强制 IE11 在 HTML 中模拟 IE9?