fill out per row

by jonahe

HTML

<script src="https://code.jquery.com/jquery-3.4.1.slim.js"></script>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.js"></script>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.css">
<!-- 
  Bootstrap docs: https://getbootstrap.com/docs
-->

<h5>
As long as height is 100% all the way down to and including Article, you can get dynamic height per horizontal row. 
</h5>

<div class="container">
  <div class="row align-items-stretch">
    <div class="item col-6">
      <section>
      <article>
      1 row
      </article>
      </section>
    </div>
    <div class="item col-6">
    <section>
    <article>
   2
   <br>
   rows
   </article>
   </section>
    </div>
    <div class="item col-6">
    <section>
    <article>
  3
   <br>
   rows
   <br>
   rows
   </article>
   </section>
   
    </div>
    <div class="item col-6">
    <section>
    <article class="height-auto">
    4 (height auto - not 100%)
    </article>
    </section>
    </div>
  </div>  
</div>

CSS

.row {
  margin-top: 20px;
}

.item {
  background: teal;
  border: 1px solid tomato;
}

section {
  height: 100%;
  display: flex;
  flex-direction: column;
   background: hotpink;
}

article {
  height: 100%;
  display: flex;
  border: 1px solid lime;
}

article.height-auto {
  height: 100%;
}