我有一个Flexbox换行设置,如下所示。 flex-items(.project)的最大宽度为500px,我有一个medis查询,该查询使行的最大宽度为1600px,而最小屏幕宽度为1800px。

在该屏幕尺寸下,结果是一行2个项目和一行3个项目。当项目的组合宽度为1500px时,为什么第三项环绕到第二行而不是停留在第一行?

如果需要换行,我希望它以相同的方式在第二行换行,从而创建2行和1行。

我也想不出简洁的方式来称呼这个问题,所以我建议编辑的任何建议将不胜感激!



.row {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-evenly;
  max-width: 1200px;
  margin: 0 auto;
}

.project {
  color: #F7B801;
  background-color: #fff;
  width: 90%;
  max-width: 500px;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23);
  transition: box-shadow 0.3s cubic-bezier(.25, .8, .25, 1);
  margin: 3vh;
  padding: 30px 0;
}

@media (min-width: 1800px) {
  .row {
    max-width: 1600px;
  }
}

<div class="projects">
  <h2>Personal Projects</h2>
  <p class="projects-tagline">Responsively designed personal projects made with the glorious trinity of HTML, CSS and Javascript!</p>
  <div class="row">
    <div class="project calculator">
      <h3 class="card-title">Calculator</h3>
      <a href="https://blbaylis.github.io/Calculator"><img class="img calculator-img" src="calculator all.png"></a>
      <a class="project-link" href="https://blbaylis.github.io/Calculator">Check it out!</a>
    </div>
    <div class="project twitch">
      <h3 class="card-title">Twitch.Tv Helper Tool</h3>
      <a href="https://blbaylis.github.io/Twitch-Tool"><img class="img twitch-img" src="twitch all.png"></a>
      <a class="project-link" href="https://blbaylis.github.io/Twitch-Tool">Check it out!</a>
    </div>
    <div class="project tictactoe">
      <h3 class="card-title">Tic-Tac-Toe Game</h3>
      <a href="https://blbaylis.github.io/tic-tac-toe"><img class="img tictactoe-img" src="tictactoe all.png"></a>
      <a class="project-link" href="https://blbaylis.github.io/tic-tac-toe">Check it out!</a>
    </div>
    <div class="project pomodoro">
      <h3 class="card-title">Pomodoro Timer</h3>
      <a href="https://blbaylis.github.io/pomodoro-timer"><img class="img pomodoro-img" src="pomodoro all.png"></a>
      <a class="project-link" href="https://blbaylis.github.io/pomodoro-timer">Check it out!</a>
    </div>
    <div class="project simon-says">
      <h3 class="card-title">Simon Says Game</h3>
      <h4 class="card-title">Coming soon!</h4>
    </div>
  </div>
</div>

最佳答案

在我看来,您有两个问题:


您的利润。删除弹性项目上的边距。它们可能会占用您内容的空间,并导致最后一项包装。
您的@media(最小宽度:1800像素)似乎没有被踢,因为它的宽度非常大,因此最大宽度仍为1200像素,这导致最后一个项目要换行。例如,尝试将其设置为100px,您将看到。


参见:https://stackblitz.com/edit/angular-3mp3a3

关于css - 在这种情况下,为什么我的flexbox项包装好?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49368175/

10-10 01:35