JSFiddle - React, Tailwind, and code Playground

HTML

<ul class="flex-container">
  <li class="flex-item a">1</li>
  <li class="flex-item b">2</li>
  <li class="flex-item c">3</li>
  <li class="flex-item d">4</li>
  <li class="flex-item a">5</li>
  <li class="flex-item a">6</li>
  <li class="flex-item b">7</li>
  <li class="flex-item c">8</li>
  <li class="flex-item a">1</li>
  <li class="flex-item b">2</li>
  <li class="flex-item c">3</li>
  <li class="flex-item d">4</li>
  <li class="flex-item a">5</li>
  <li class="flex-item a">6</li>
  <li class="flex-item b">7</li>
  <li class="flex-item c">8</li>
</ul>

CSS

.flex-container {
  height: 300px;
  padding: 0;
  margin: 0;
  list-style: none;
  border: 1px solid silver;
  -ms-box-orient: horizontal;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -moz-flex;
  display: -webkit-flex;
  display: flex;
  flex-flow: column wrap;
  align-content: flex-start;
}  

.flex-item {
  background: tomato;
  padding: 5px;
  width: 100px;
  height: 100px;
  margin: 10px;
  line-height: 100px;
  color: white;
  font-weight: bold;
  font-size: 2em;
  text-align: center;
}
.a {
  height: 50px;
  line-height: 50px;
}
.b {
  height: 100px;
  line-height: 100px;
}
.c {
  height: 150px;
  line-height: 150px;
}
.d {
  height: 200px;
  line-height: 200px;
}