html – 每行5个项目,自动调整flexbox中的项目

前端之家收集整理的这篇文章主要介绍了html – 每行5个项目,自动调整flexbox中的项目前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我现在有这个:
.container {
  background: gray;
  width: 600px;
  display: flex;
  flex-flow: row wrap;
  position: relative;
}
.item {
  background: blue;
  width: auto;
  height: auto;
  margin: 4px;
  flex: 1;
  flex-basis: 20%;
}
<div class="container">
  <div class="item">A</div>
  <div class="item">B</div>
  <div class="item">C</div>
  <div class="item">D</div>
  <div class="item">E</div>
  <div class="item">F</div>
  <div class="item">G</div>
</div>

我想要做的是在flexBox中每行有5个项目.目前它们没有出现,因为它们没有设定的宽度/高度,这引出了我的下一个问题.是否可以自动调整项目大小以使其中每行适合5个项目?

我该怎么办?

谢谢!

解决方法

所以这就是我所做的:

>你给出了20%的弹性基础是正确的.但我们必须调整每个弹性项目的4px余量,以便正确包装:

flex: 0 1 calc(20% - 8px);

这意味着物品不会超过宽度的20%(调整边距),并且可以根据容器宽度缩小.

>最后给容器一些高度来说明行为.

.container {
  background: gray;
  width: 600px;
  height: 300px;
  display: flex;
  flex-flow: row wrap;
  position: relative;
}

.item {
  background: blue;
  margin: 4px;
  flex: 0 1 calc(20% - 8px);
}
<div class="container">
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
</div>

>如果连续少于5个项目,并且您希望它们填写剩余空间,请使用flex:1 1 calc(20% – 8px):

.container {
  background: gray;
  width: 600px;
  height: 300px;
  display: flex;
  flex-flow: row wrap;
  position: relative;
}

.item {
  background: blue;
  margin: 4px;
  flex: 1 1 calc(20% - 8px);
}
<div class="container">
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
</div>

请告诉我您对此的反馈.谢谢!

原文链接:https://www.f2er.com/html/226297.html

猜你在找的HTML相关文章