html - 使用 Flexbox 时,子 div 高度应等于其父级高度

标签 html css flexbox

我的要求是我希望所有文本类 div 应该具有相同的高度,或者应该占据父 div col 的所有高度。

.flexbox {
  display: flex;
}

.col {
  border: 1px solid;
  margin: 20px;
}

.text {
  background: green;
}
<div class="flexbox">
  <div class="col">
    <div class="img" style="background:red;height:200px;width:200px;"></div>
    <div class="text">
      <h3>I am listed first in source order.</h3>
      <p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.</p>
    </div>
  </div>
  <div class="col">
    <div class="img" style="background:red;height:200px;width:200px;"></div>
    <div class="text">
      <p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est.
        Mauris placerat eleifend leo.</p>
    </div>
  </div>
  <div class="col">
    <div class="img" style="background:red;height:200px;width:200px;"></div>
    <div class="text">
      <p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.</p>
    </div>
  </div>
</div>

Here is the link for working code

最佳答案

您需要在父 div 上使用 flex-direction: column 并在子 div 上使用 flex: 1

因此向您的 .col 类添加:

display: flex;
flex-direction: column;

并向 .text 类添加:

flex:1;

.flexbox {
  display: flex;
}

.col {
  border: 1px solid;
  margin: 20px;
  display: flex;
  flex-direction: column
}

.text {
  background: green;
  flex: 1;
}
<div class="flexbox">
  <div class="col">
    <div class="img" style="background:red;height:200px;width:200px;"></div>
    <div class="text">
      <h3>I am listed first in source order.</h3>
      <p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.</p>
    </div>
  </div>
  <div class="col">
    <div class="img" style="background:red;height:200px;width:200px;"></div>
    <div class="text">
      <p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est.
        Mauris placerat eleifend leo.</p>
    </div>
  </div>
  <div class="col">
    <div class="img" style="background:red;height:200px;width:200px;"></div>
    <div class="text">
      <p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.</p>
    </div>
  </div>
</div>

Here is the fiddle to play with.

希望这有帮助。

关于html - 使用 Flexbox 时,子 div 高度应等于其父级高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45075414/

相关文章:

javascript - CanvasRenderingContext2D.fill() 似乎不起作用

javascript - 制作一个可以使用 top 属性进行动画切换的菜单

javascript - 如何使用 jquery 禁用特定元素上的滚动

CSS Grid - flex-start 和 Start Value 在对齐/对齐属性中的区别

html - Flexbox 增长或收缩使 div 稍微移动

html - 不同文件中的相同 CSS 使页面加载不同

javascript - 如何在没有 tabindex=0 的情况下向 div 添加事件监听器?

css - 如何更改插件的 CSS

html - 标题中的 CSS 标志图标

html - 我怎样才能得到溢出:scroll inside a flex box