JSFiddle - React, Tailwind, and code Playground
by gweax
HTML
<div class="container">
<div class="col flex-1">1</div>
<div class="col flex-1">1</div>
<div class="col flex-1">1</div>
<div class="col flex-1">1</div>
</div>
<div class="container">
<div class="col flex-1">1</div>
<div class="col flex-3">3</div>
</div>
<div class="container">
<div class="col flex-1">2</div>
<div class="col flex-1">2</div>
</div>
<div class="container offset offset-1">
<div class="col flex-3">3</div>
</div>
<div class="container offset offset-2">
<div class="col flex-2">2</div>
</div>
<div class="container offset offset-3">
<div class="col flex-1">1</div>
</div>
<div class="container">
<div class="col flex-1">1</div>
<div class="container flex-3">
<div class="col flex-1">1</div>
<div class="container flex-2">
<div class="col flex-1">1</div>
<div class="col flex-1">1</div>
</div>
</div>
</div>
CSS
* {
box-sizing: border-box;
}
.container {
display: flex;
margin-bottom: 20px;
background-color: #ccc;
max-width: 400px;
}
.container .container {
margin-bottom: 0;
}
.col {
background: #bada55;
height: 40px;
margin-right: 10px;
}
.col:last-child {
margin-right: 0;
}
.flex-1 { flex: 1 0 0; }
.flex-2 { flex: 2 0 10px; }
.flex-3 { flex: 3 0 20px; }
.flex-4 { flex: 4 0 30px; }
.offset::before {
content: 'o';
height: 40px;
margin-right: 10px;
}
.offset-1::before { flex: 1 0 0; }
.offset-2::before { flex: 2 0 10px; }
.offset-3::before { flex: 3 0 20px; }