使用 flexbox 每行排列 2 个项目

新手上路,请多包涵

想象一下我有以下标记

<div class="container">
    <div class="item"></div>
    <div class="item"></div>
    <div class="item"></div>
    <div class="item"></div>
</div>

和风格

.item {
  width: 100%
}

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

原文由 PranavPinarayi 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.2k
2 个回答

您可以将 flex: 50% 给孩子 div s 而无需触摸。 item

 .item {
  width: 100%
}

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

.container > div {
  flex: 50%; /* or - flex: 0 50% - or - flex-basis: 50% - */
  /*demo*/
  box-shadow: 0 0 0 1px black;
  margin-bottom: 10px;
}
 <div class="container">
  <div class="item">1</div>
  <div class="item">2</div>
  <div class="item">3</div>
  <div class="item">4</div>
</div>

原文由 dippas 发布,翻译遵循 CC BY-SA 4.0 许可协议

以下解决方案对我有用

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

.child{
  width: 25%;
  box-sizing: border-box;
}

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

原文由 Deepak Terse 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题