Flex Box CSS

Flexbox atau Flexible Box  merupakan sebuah mode pengaturan atau konsep layout pada CSS yang digunakan untuk mengatur elemen atau container beserta item didalamnya pada halaman web.

Model Layout 1 Dimensi (Horizontal/Vertikal) yang dapat mengatur jarak dan penjajaran antar item dalam kontainer secara dinamis atau ukuran tidak diketahui. 

Sebelum Flexbox, ada beberapa layout model yang sudah ada, yaitu :

  • Block
  • Inline
  • Table
  • Positioned

Setelah adanya Flexbox, membuat halaman web yang responsive dan pembuatan struktur layout lebih mudah daripada memakai float atau positioning.

Property : 

  • main axis : dimensi horizontal / kolom
  • cross axis : dimensi vertikal / baris
  • main size : ukuran kolom
  • cross size : ukuran baris
  • main start : awal dari elemen secara horizontal
  • main end : akhir dari elemen secara horizontal
  • cross start : awal dari elemen secara vertikal
  • cross end : akhir dari elemen secara vertikal


Kontainer Harus Memiliki Display Flex

 



Property flex-direction : untuk mengatur arah urutan elemen di dalam kontainer : 
  • row : kiri ke kanan (default)
  • row-reverse : kanan ke kiri
  • column : atas kebawah
  • column-reverse : bawah ke atas
Property flex-wrap : untuk mengatur komponen akan memindahkan item ke baris bawah jika tidak muat : 
  • nowrap (default) : akan berada dalam 1 baris dan diatur width
  • wrap : akan dipindahkan ke bawah
  • wrap-reverse : akan dipindahkan kebawah dan urutan dibalik
Property justify-content : mengatur rata dari elemen di dalam kontainer secara horizontal
  • flex-star (default) : posisi awal
  • flex-end : dimulai dari kanan 
  • center : posisi akan di tengah
  • space-between : akan mengatur jarak antara komponen
  • space-arround : mengatur komponen jarak yang sama
  • space-evenly : mengatur jarak kanan kiri sama
Property align-content : mengatur rata dari elemen di dalam kontainer secara vertikal jika lebih dari 1 baris
    • flex-star (default) : posisi awal 
    • flex-end : dimulai dari bawah
    • center : posisi akan di tengah
    • space-between : akan mengatur jarak antara baris
    • space-arround : mengatur komponen jarak yang sama
    • space-evenly : mengatur jarak atas dan bawah sama
    Property align-items : untuk mengatur kesejajaran item secara vertikal 
    • stretch : akan memenuhi secara vertikal (default)
    • flex-star : rata atas
    • flex-end : rata bawah
    • center : rata tengah
    • baseline : sejajar dengan baseline fontnya
    Property order : untuk mengatur urutan komponen berupa angka

    Property flex-grow / flex  : Untuk mengatur ukuran dari item agar website responsive diisi dengan angka dan akan memenuhi content

    Property align-self : untuk mengatur salah satu komponen berada pada posisi tertentu terhadap cross axis atau vertikal
    • auto : sesuai kondisi
    • flex-star : atas
    • flex-end : bawah
    • center : tengah
    • baseline : sejajar dengan baseline fontnya
    • stretch : penuh