相关疑难解决方法(0)

Flexbox:每行4个项目

我正在使用弹性框显示8个项目,这些项目将动态调整我的页面大小.如何强制它将项目分成两行?(每行4个)?

这是一个相关的剪辑:

(或者,如果你更喜欢jsfiddle - http://jsfiddle.net/vivmaha/oq6prk1p/2/)

.parent-wrapper {
  height: 100%;
  width: 100%;
  border: 1px solid black;
}
.parent {
  display: flex;
  font-size: 0;
  flex-wrap: wrap;
  margin: -10px 0 0 -10px;
}
.child {
  display: inline-block;
  background: blue;
  margin: 10px 0 0 10px;
  flex-grow: 1;
  height: 100px;
}
Run Code Online (Sandbox Code Playgroud)
<body>
  <div class="parent-wrapper">
    <div class="parent">
      <div class="child"></div>
      <div class="child"></div>
      <div class="child"></div>
      <div class="child"></div>
      <div class="child"></div>
      <div class="child"></div>
      <div class="child"></div>
      <div class="child"></div>
    </div>
  </div>
</body>
Run Code Online (Sandbox Code Playgroud)

html css html5 css3 flexbox

200
推荐指数
5
解决办法
28万
查看次数

即使在包裹后,也可以弯曲相同宽度的物品

有可能像这样制作一个纯CSS解决方案:

  1. 物品有一些min-width.
  2. 它们应该动态增长以填充所有容器宽度,然后换行到新行
  3. 列表中的所有项目应具有相同的宽度.

这就是它现在的样子:

在此输入图像描述

这就是我希望它看起来像(我已经手动管理那些底部项目的宽度只是为了显示预期的结果):

在此输入图像描述

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

.item {
  background: yellow;
  min-width: 100px;
  height: 20px;
  text-align: center;
  border: 1px solid red;
  flex-grow: 1;
}
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 class="item">5</div>
  <div class="item">6</div>
  <div class="item">7</div>
  <div class="item">8</div>
  <div class="item">9</div>
  <div class="item">10</div>
</div>
Run Code Online (Sandbox Code Playgroud)

这是一个小提琴演示.

html css css3 flexbox css-grid

30
推荐指数
2
解决办法
1万
查看次数

标签 统计

css ×2

css3 ×2

flexbox ×2

html ×2

css-grid ×1

html5 ×1