Deretkan

Poin utama yang ditunjukkan di sini adalah penggunaan justify-content: space-between, yang menempatkan elemen turunan pertama dan terakhir di tepi kotak pembatasnya, dengan ruang yang tersisa didistribusikan secara merata di antara elemen. Untuk kartu ini, kartu tersebut ditempatkan dalam mode tampilan flexbox, dengan arah ditetapkan ke kolom menggunakan flex-direction: column.

Ini menempatkan judul, deskripsi, dan blok gambar di kolom vertikal di dalam kartu induk. Kemudian, menerapkan justify-content: space-between akan menambatkan elemen pertama (judul) dan terakhir (blok gambar) ke tepi penampung fleksibel, dan teks deskriptif di antara keduanya akan ditempatkan dengan spasi yang sama ke setiap endpoint.

.container {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

HTML

<div class="container">
  <div class="card">
    <h3>Title - Card 1</h3>
    <p contenteditable>Medium length description with a few more words here.</p>
    <div class="visual"></div>
  </div>
  <div class="card">
    <h3>Title - Card 2</h3>
    <p contenteditable>Long Description. Lorem ipsum dolor sit, amet consectetur adipisicing elit.</p>
    <div class="visual"></div>
  </div>
  <div class="card">
    <h3>Title - Card 3</h3>
    <p contenteditable>Short Description.</p>
    <div class="visual"></div>
  </div>
</div>

CSS


        .container {
  display: grid;
  grid-gap: 1rem;
  grid-template-columns: repeat(3, 1fr);
}

.visual {
  height: 100px;
  width: 100%;
}

.card {
  display: flex;
  flex-direction: column;
  padding: 1rem;
  justify-content: space-between;
}

h3 {
  margin: 0
}