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;
}