【问题标题】:How can I get CSS flex items to position into space above?如何让 CSS flex 项目定位到上面的空间中?
【发布时间】:2020-11-03 02:14:59
【问题描述】:

如上图所示,如何让弹性项目占据它们上方的空间?

这是我的代码:

<ul class="list-container">
  <li v-for="hero in heroes" :key="hero.id" class="hero-list-card">
    <router-link
      :to="{ name: 'Hero', params: { name: slugify(hero.name), id: hero.id} }"
      data-testid="hero-name">
      <img :src="`${hero.thumbnail.path}.${hero.thumbnail.extension}`" alt="">

      <div class="text">
        <p class="description heading four">{{ hero.name }}</p>
        <img class="icon" src="@/assets/icons/arrow-right.svg" alt="">
      </div>
    </router-link>
  </li>
</ul>
  .list-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-start;
  }

  .comic-list-card,
  .hero-list-card {
    width: 40%;
    margin: 1rem;
  }

【问题讨论】:

标签: html css sass flexbox


【解决方案1】:

如果我正确理解您的问题,您可以添加 align-self: stretch;到项目,它们都将获得相同的高度,这将迫使它们占据与每个项目相邻的剩余空间。

【讨论】:

  • 这是一种选择,但我宁愿每个项目只占用它创建的高度。所有图像的大小都不同,我不希望任何卡片有一个大的蓝色区域,文本是用来弥补高度差的。我想我想要实现的外观更像是一种“马赛克”。
猜你喜欢
  • 2018-01-29
  • 1970-01-01
  • 1970-01-01
  • 2021-07-05
  • 1970-01-01
  • 2022-11-18
  • 1970-01-01
  • 2011-12-16
  • 1970-01-01
相关资源
最近更新 更多