html – flex容器中的等高行

前端之家收集整理的这篇文章主要介绍了html – flex容器中的等高行前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如您所见,第一行中的列表项具有相同的高度。但是第二行中的项目具有不同的高度。我希望所有物品的高度均匀。

有没有办法实现这一点,而不给出固定高度,只使用flexBox

这是我的代码

.list {
  display: flex;
  flex-wrap: wrap;
  max-width: 500px;
}
.list-item {
  background-color: #ccc;
  display: flex;
  padding: 0.5em;
  width: 25%;
  margin-right: 1%;
  margin-bottom: 20px;
}
.list-content {
  width: 100%;
}
<ul class="list">
  <li class="list-item">
    <div class="list-content">
      <h2>Box 1</h2>
      <p>Lorem ipsum dolor sit amet,consectetur adipisicing elit.</p>
    </div>
  </li>
  <li class="list-item">
    <div class="list-content">
      <h3>Box 2</h3>
      <p>Lorem ipsum dolor sit amet,consectetur adipisicing elit.</p>
    </div>
  </li>

  <li class="list-item">
    <div class="list-content">
      <h3>Box 2</h3>
      <p>Lorem ipsum dolor</p>
    </div>
  </li>

  <li class="list-item">
    <div class="list-content">
      <h3>Box 2</h3>
      <p>Lorem ipsum dolor</p>
    </div>
  </li>
  <li class="list-item">
    <div class="list-content">
      <h1>h1</h1>
    </div>
  </li>
</ul>

解决方法

答案是不。

原因在flexBox规范中提供:

07000

In a multi-line flex container,the cross size of each line is the minimum size necessary to contain the flex items on the line.

换句话说,当基于行的Flex容器中有多行时,每行的高度(“交叉大小”)是在行上包含弹性项所需的最小高度。

但是,CSS Grid Layout中可以使用相等高度的行:

> Equal height rows in CSS Grid Layout

否则,请考虑JavaScript替代方案。

猜你在找的HTML相关文章