html - 底部带有元数据的 Css flex div 拉伸(stretch)到相同的高度

标签 html css flexbox

我有一个包含两个部分的框,带有图像的标题和底部的内容分为两个部分,文本和操作按钮。

问题是文本有时大有时小,我需要根据较大的框将所有框拉伸(stretch)到相同的高度。

这是我对 flex 的尝试,但由于某种原因它不起作用。

.wrapper {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.wrapper > div {
  max-width: 25%;
  margin-right: 1rem;
}
.wrapper > div .img {
  height: 100px;
  width: 200px;
}
.wrapper > div .img img {
  max-width: 100%;
}
.wrapper > div .meta {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-align-content: space-between;
  -ms-flex-line-pack: justify;
  align-content: space-between;
}
<section class="wrapper">

  <div>
    <div class="img">
      <img src="http://lorempixel.com/400/200" alt="" />
    </div>
    <div class="meta">
      <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Repellendus tempora perspiciatis repellat minus voluptates iure ratione doloremque nulla excepturi ducimus, autem modi temporibus expedita quos eum magnam saepe facilis itaque?</p>

      <div class="action">
        <button>click me</button>
      </div>
    </div>

  </div>

  <div>
    <div class="img">
      <img src="http://lorempixel.com/400/200" alt="" />
    </div>
    <div class="meta">
      <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Repellendus tempora perspiciatis</p>

      <div class="action">
        <button>click me</button>
      </div>
    </div>

  </div>

</section>

最佳答案

我想你想要这样的东西:

请注意,我已经制作了内部 div(.wrapper 的直接子级)flex-direction:column

我还将按钮 div 移出 meta div,以便它始终位于底部。

.wrapper {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.wrapper > div {
  max-width: 25%;
  margin-right: 1rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  border: 1px solid green;
}
.wrapper > div .img {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 100px;
      -ms-flex: 0 0 100px;
          flex: 0 0 100px;
}
.wrapper > div .img img {
  max-width: 100%;
}
.wrapper > div .meta {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.wrapper > div .action {
  text-align: center;
  margin-bottom: .5em;
}
<section class="wrapper">

  <div>
    <div class="img">
      <img src="http://lorempixel.com/400/200" alt="" />
    </div>
    <div class="meta">
      <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Repellendus tempora perspiciatis repellat minus voluptates iure ratione doloremque nulla excepturi ducimus, autem modi temporibus expedita quos eum magnam saepe facilis itaque?</p>


    </div>
    <div class="action">
      <button>click me</button>
    </div>
  </div>

  <div>
    <div class="img">
      <img src="http://lorempixel.com/400/200" alt="" />
    </div>
    <div class="meta">
      <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Repellendus tempora perspiciatis</p>

    </div>

    <div class="action">
      <button>click me</button>
    </div>
  </div>

</section>

关于html - 底部带有元数据的 Css flex div 拉伸(stretch)到相同的高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32681183/

相关文章:

twitter-bootstrap - 将 Bootstrap 中的列内的内容居中

javascript - 设置 td 检查属性

html - 仅使用 CSS 用于装饰目的的自定义标签

html - 如何在没有滚动的情况下将 flex 容器全部放在一个页面中

javascript - 由侧面菜单向上推的 slider

javascript - 如何更改 Angular js 中事件链接的背景颜色

html - 可滚动 flex 内容内的可滚动 flex 内容

html - 带有图片的按钮 - CSS 问题

html - 如何使我的椭圆形带在 css 中有波浪?

jquery - 如何在窗口大小调整时自动调整字体和图像(完整网站)的大小?