JSFiddle - React, Tailwind, and code Playground
by Artem
HTML
<div class="grid">
<div class="box first">1</div>
<div class="subgrid">
<div class="subgrid">
<div class="box">2</div>
<div class="box">3</div>
</div>
<div class="subgrid">
<div class="box last">4</div>
<div class="box last">5</div>
</div>
</div>
</div>
CSS
* {
box-sizing: border-box;
}
.box {
border: 2px solid #fff;
background-color: #333;
padding: 20px;
color: #fff;
text-align: center;
font-size: 20px;
line-height: 30px;
font-family: sans-serif;
}
.first {
flex: 3;
}
.grid {
display: flex;
flex-wrap: wrap;
max-width: 960px;
margin: 0 auto;
border: 1px solid #000;
}
.subgrid {
display: flex;
flex-direction: column;
flex-wrap: wrap;
flex: 9;
border: 1px solid #f00;
/* height: 300px; */
}
.subgrid > .subgrid {
flex-direction: row;
flex-basis: 33%;
border: 1px solid #f0f;
}
.subgrid > .subgrid:last-child {
flex-direction: column;
}
.subgrid > .subgrid .box {
flex-basis: 50%;
}
.last {
flex-basis: 66%;
}