如何水平放置柔韧性盒居中并删除剩余空间?

问题描述

我试图水平放置柔韧性盒,但我希望将其剩余空间删除。我不要使用justify-content: center;,因为我希望在加载最后一行时,它从flex框的开头开始。

到目前为止,我得到的结果是:

enter image description here

我想要这个结果:

enter image description here

请注意,弹性盒的剩余空间已删除。但是我希望弹性盒能够响应,并且我想使用flex-wrap: wrap。使用间距,我得到类似的结果,但我也想使用间隙。

这是我得到的结果的代码

html:

<div class="flex-container">
    <div class="flex-item">1</div>
    <div class="flex-item">2</div>
    <div class="flex-item">3</div>
    <div class="flex-item">4</div>
    <div class="flex-item">5</div>
  </div>

css:

.flex-container {
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  border: 1px solid blue;
  width: 80%;
  margin: auto;
  align-content: center;
}

.flex-item {
  background-color: tomato;
  padding: 5px;
  width: 200px;
  flex-grow: 1 1 auto;
  margin: 10px;
  line-height: 20px;
  color: white;
  font-weight: bold;
  font-size: 2em;
  text-align: center;
}

解决方法

这会吗?

.flex-container {
  padding: 0;
  margin: 0;
  display: flex;
  gap: 1rem;
  border: 1px solid blue;
  width: auto;
  margin: auto;
  align-content: center;
}

.flex-item {
  background-color: tomato;
  padding: 5px;
  width: 200px;
  margin: 10px;
  line-height: 20px;
  color: white;
  font-weight: bold;
  font-size: 2em;
  text-align: center;
}
<div class="flex-container">
    <div class="flex-item">1</div>
    <div class="flex-item">2</div>
    <div class="flex-item">3</div>
    <div class="flex-item">4</div>
    <div class="flex-item">5</div>
  </div>