Css flex div 元数据在底部拉伸到相同的高度

Css flex div with meta data at the bottom stretch to same height

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

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

这是我对 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>