Flexbox: Dasar — CSS

Sebelum tahun 2015, bikin tata letak sederhana di CSS itu mimpi buruk. Pengen 3 kotak sebaris rata tengah? Harus jago float, clear, display: table-cell, hack…

Flexbox adalah cara CSS menjajarkan beberapa elemen dalam satu baris atau satu kolom, lalu mengatur jarak di antara mereka. Kamu menyalakannya di elemen pembungkus (induk), dan semua anaknya langsung ikut berjajar. Ini cara paling gampang buat bikin navbar, deretan tombol, atau kotak yang rata tengah.

🧪 Tebakan cepat: display: flex sebaiknya dipasang di kotak pembungkusnya atau di tiap kotak kecil di dalamnya? Tebak dulu, jawabannya ada di bagian "Tiga kotak dalam satu baris".

Tiga kotak dalam satu baris

<div class="container">
  <div class="box">1</div>
  <div class="box">2</div>
  <div class="box">3</div>
</div>

<style>
.container {
  display: flex;
  flex-direction: row;
  justify-content: center;
}
</style>

Hasilnya, kotak 1, 2, dan 3 berjajar mendatar di tengah halaman. Tanpa display: flex, ketiganya bertumpuk dari atas ke bawah, karena <div> biasa selalu mulai di baris baru.

Kalau di <style> belum ada aturan buat induknya, bikin aturan baru, misalnya di bawah aturan .box. Kalau sudah ada, tambahkan barisnya di dalam aturan itu.

Sumbu utama: arah tusuk sate

Bayangin sate: semua potongan daging berjajar di sepanjang satu tusuk. Flexbox juga begitu, item-itemnya berjajar di sepanjang satu garis. Arah garis itu disebut sumbu utama (main axis), dan flex-direction yang menentukan arahnya:

Arah yang tegak lurus dengan tusuknya disebut sumbu silang (cross axis).

justify-content: atur posisi di sepanjang tusuk

justify-content mengatur letak item di sepanjang sumbu utama:

Buat sumbu silang, pasangannya align-items, misalnya align-items: center buat rata tengah dari atas ke bawah.

⚠️ Jebakan yang sering ketemu

TL;DR: Pasang display: flex di induk, dan anak-anaknya berjajar di sepanjang sumbu utama, kayak sate di tusuknya. flex-direction menentukan arah tusuknya: row (bawaan, mendatar) atau column (tegak). justify-content mengatur letak item di sepanjang tusuk: center buat tengah, space-between buat menempelkan yang pertama dan terakhir ke kedua ujung.

Yang akan kamu pelajari