Cara Menggunakan Flexbox di CSS untuk Layout

Flexbox adalah salah satu fitur CSS paling populer untuk membuat layout halaman web. Dengan Flexbox, kamu bisa mengatur posisi elemen secara horizontal maupun vertikal dengan mudah...

Cara Menggunakan Flexbox di CSS untuk Layout

Flexbox adalah salah satu fitur CSS paling populer untuk membuat layout halaman web. Dengan Flexbox, kamu bisa mengatur posisi elemen secara horizontal maupun vertikal dengan mudah tanpa perlu menggunakan float atau positioning yang rumit. Artikel ini akan membahas cara menggunakan Flexbox dari dasar hingga contoh praktis yang bisa langsung kamu coba.

Apa Itu Flexbox?

Flexbox (Flexible Box Layout) adalah model tata letak CSS yang memungkinkan elemen di dalam kontainer diatur secara fleksibel. Ada dua konsep utama dalam Flexbox:

  • Flex Container โ€” elemen induk yang diberi properti display: flex.
  • Flex Item โ€” elemen anak langsung di dalam flex container.

Cara Mengaktifkan Flexbox

Untuk mengaktifkan Flexbox, cukup tambahkan display: flex pada elemen container:

.container {
  display: flex;
}

Semua elemen anak di dalam .container otomatis menjadi flex item.

Properti Utama Flex Container

Berikut properti-properti penting yang diterapkan pada flex container:

1. flex-direction

Menentukan arah susunan flex item.

.container {
  display: flex;
  flex-direction: row;        /* default: kiri ke kanan */
  /* flex-direction: column; */ /* atas ke bawah */
  /* flex-direction: row-reverse; */
  /* flex-direction: column-reverse; */
}

2. justify-content

Mengatur penyelarasan flex item sepanjang sumbu utama (horizontal jika row).

.container {
  display: flex;
  justify-content: center;        /* tengah */
  /* justify-content: flex-start; */  /* kiri (default) */
  /* justify-content: flex-end; */    /* kanan */
  /* justify-content: space-between; */ /* jarak rata */
  /* justify-content: space-around; */
}

3. align-items

Mengatur penyelarasan flex item sepanjang sumbu silang (vertikal jika row).

.container {
  display: flex;
  align-items: center;      /* tengah vertikal */
  /* align-items: flex-start; */
  /* align-items: flex-end; */
  /* align-items: stretch; */ /* default */
}

4. flex-wrap

Mengizinkan flex item untuk pindah ke baris baru jika tidak muat.

.container {
  display: flex;
  flex-wrap: wrap; /* item pindah baris jika overflow */
}

Properti Flex Item

Selain properti container, ada properti yang diterapkan langsung pada flex item:

flex-grow, flex-shrink, flex-basis

.item {
  flex-grow: 1;    /* item bisa membesar mengisi ruang */
  flex-shrink: 1;  /* item bisa mengecil jika perlu */
  flex-basis: 200px; /* ukuran awal item */
}

/* Shorthand */
.item {
  flex: 1 1 200px;
}

Contoh Praktis: Layout Tiga Kolom

Berikut contoh membuat layout tiga kolom yang umum digunakan pada website:

<!-- HTML -->
<div class="container">
  <div class="kolom">Kolom 1</div>
  <div class="kolom">Kolom 2</div>
  <div class="kolom">Kolom 3</div>
</div>

<!-- CSS -->
<style>
.container {
  display: flex;
  gap: 16px;
}

.kolom {
  flex: 1;
  background: #f0f4ff;
  padding: 20px;
  border-radius: 8px;
  text-align: center;
}
</style>

Contoh Praktis: Memusatkan Elemen Secara Horizontal dan Vertikal

Salah satu kegunaan paling populer Flexbox adalah memusatkan konten secara sempurna:

<div class="center-box">
  <p>Saya di tengah!</p>
</div>

<style>
.center-box {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 300px;
  background: #e8f5e9;
}
</style>

Contoh: Navbar dengan Flexbox

Flexbox juga sangat cocok untuk membuat navigasi bar:

<nav class="navbar">
  <div class="logo">MyBrand</div>
  <ul class="menu">
    <li><a href="#">Beranda</a></li>
    <li><a href="#">Tentang</a></li>
    <li><a href="#">Kontak</a></li>
  </ul>
</nav>

<style>
.navbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 32px;
  background: #1e293b;
  color: white;
}

.menu {
  display: flex;
  list-style: none;
  gap: 24px;
  margin: 0;
  padding: 0;
}

.menu a {
  color: white;
  text-decoration: none;
}
</style>

Tips Menggunakan Flexbox

  • Gunakan properti gap untuk memberi jarak antar item tanpa perlu margin.
  • Kombinasikan flex-wrap: wrap dengan flex-basis untuk layout responsif sederhana.
  • Gunakan order pada flex item untuk mengubah urutan tampilan tanpa mengubah HTML.
  • Flexbox bekerja paling baik untuk layout satu dimensi (baris atau kolom). Untuk dua dimensi, pertimbangkan CSS Grid.

Kesimpulan

Flexbox adalah alat yang sangat powerful untuk membuat layout web yang rapi dan fleksibel. Dengan memahami properti seperti display: flex, justify-content, align-items, dan flex-wrap, kamu sudah bisa menangani sebagian besar kebutuhan layout modern. Mulai praktikkan dengan contoh-contoh di atas, dan kamu akan semakin terbiasa menggunakannya dalam proyek nyata.

flexbox css css layout display flex flex container flex item tutorial css
Bagikan artikel
Kembali

Komentar (0)

Punya pertanyaan atau tambahan? Tulis di bawah โ€” tak perlu login.

Membalas komentarโ€ฆ batal

Belum ada komentar. Jadilah yang pertama!

๐Ÿš€ Partner Recommendation

Butuh Source Code & Aplikasi Premium?

Download aplikasi Laravel, POS, Sekolah, Klinik, ERP, dan source code siap pakai di GudangCode.

GudangCode
  • โœ” Source Code Premium
  • โœ” Sistem Siap Pakai
  • โœ” Lifetime Update
  • โœ” Membership Lifetime
  • โœ” Update Aplikasi Harian
Daftar Membership โ†’