使用flexbox每行排列2个项目

Pra*_*ayi 31 html css css3 flexbox

想象一下,我有以下标记

<div class="container">
    <div class="item"></div>
    <div class="item"></div>
    <div class="item"></div>
    <div class="item"></div>
</div>
Run Code Online (Sandbox Code Playgroud)

和风格

.item {
  width: 100%
}
Run Code Online (Sandbox Code Playgroud)

并且由于某些原因我无法改变宽度我可以 .item 通过.container使用flexbox或任何其他方式设置父容器,在每行中排列2个项目吗?

dip*_*pas 63

你可以给flex: 0 50%孩子们没有接触的div.item

.item {
  width: 100%
}

.container {
  display: flex;
  flex-wrap: wrap;
}

.container>div {
  flex: 0 50%;
  /*demo*/
  border: red solid;
  box-sizing:border-box
}
Run Code Online (Sandbox Code Playgroud)
<div class="container">
  <div class="item">1</div>
  <div class="item">2</div>
  <div class="item">3</div>
  <div class="item">4</div>
</div>
Run Code Online (Sandbox Code Playgroud)

  • css-tricks.com 上对 `flex` 的描述:这是 flex-grow、flex-shrink 和 flex-basis 组合的简写。第二个和第三个参数(flex-shrink 和 flex-basis)是可选的。默认值为 0 1 自动。 (4认同)
  • 如果是这样的话,OP会不会给它另一堂课? (2认同)

Dee*_*rse 7

以下解决方案对我有用

.parent{
  display: flex;
  flex-wrap: wrap;
}

.child{
  width: 25%;
  box-sizing: border-box;
}
Run Code Online (Sandbox Code Playgroud)

示例: https: //codepen.io/capynet/pen/WOPBBm