JSFiddle - React, Tailwind, and code Playground

by Alphonsio

HTML

<div class="container">
    <div class="item size-1">1</div>
    <div class="item size-3">2</div>
    <div class="item size-4">3</div>
    <div class="item size-2">4</div>
    <div class="item size-3">5</div>
    <div class="item size-1">6</div>
    <div class="item size-2">7</div>
    <div class="item size-4">8</div>
    <div class="item size-3">9</div>
    <div class="item size-1">10</div>
    <div class="item size-2">11</div>
    <div class="item size-4">12</div>
    <div class="item size-3">13</div>
    <div class="item size-1">14</div>
    <div class="item size-2">15</div>
    <div class="item size-4">16</div>
    <div class="item size-3">17</div>
    <div class="item size-1">18</div>
    <div class="item size-2">19</div>
    <div class="item size-4">20</div>
</div>

CSS

* { background-color: #eee; }

.container {
  column-count: 3; /* Adjust the number of columns based on your design */
  column-gap: 1rem; /* Space between columns */
  width: 100%; /* Full width of the container */
}

.item {
  break-inside: avoid; /* Prevent items from splitting across columns */
  padding: 1rem;
  margin-bottom: 1rem; /* Space between items */
  background-color: #f2f2f2; /* Example background color */
  padding: 1rem; /* Padding inside items */
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.size-1 { height: 50px; background: #ff6b6b; }  /* Soft Red */
.size-2 { height: 70px; background: #6b8eff; }  /* Soft Blue */
.size-3 { height: 100px; background: #ffcb6b; } /* Warm Yellow */
.size-4 { height: 30px; background: #6bff92; }  /* Soft Green */