Flexbox CSS
- Halaman Sebelumnya Box Sizing CSS
- Halaman Berikutnya Kueri Media CSS
Modul tata letak Flexbox CSS
Sebelum modul tata letak Flexbox (diterbitkan), model tata letak yang tersedia adalah empat jenis berikut:
- Block (Block), untuk bagian (bagian) di halaman web
- Inline (Inline), untuk teks
- Tabel, untuk data tabel dua dimensi
- Lokasi, untuk posisi yang jelas dari elemen
Modul tata letak bingkai elasti, yang dapat merancang struktur tata letak responsif yang fleksibel dengan mudah, tanpa memerlukan penempatan paralel atau lokasi.
Dukungan peramban
Semua peramban modern mendukung flexbox
Atribut.
29.0 | 11.0 | 22.0 | 10 | 48 |
Elemen Flexbox
Untuk memulai menggunakan model Flexbox, Anda harus mengdefinikan kontainer Flex terlebih dahulu.
Elemen di atas mewakili kontainer flex yang memiliki tiga project flex (area biru).
Contoh
yang berisi tiga project flex:
<div class="flex-container"> <div>1</div> <div>2</div> <div>3</div> </div>
elemen induk (kontainer)
dengan mengubah display
disebutkan sebagai flex
dengan properti dapat diubah ukurannya:
Contoh
.flex-container { display: flex; }
Berikut adalah properti kontainer flex:
Properti flex-direction
flex-direction
Properti menentukan arah di mana kontainer akan menata project flex.
Contoh
column
Nilai menata project flex secara vertikal (dari atas ke bawah):
.flex-container { display: flex; flex-direction: column; }
Contoh
column-reverse
Nilai menata project flex secara vertikal (dari bawah ke atas):
.flex-container { display: flex; flex-direction: column-reverse; }
Contoh
row
Nilai menata project flex secara horizontal (dari kiri ke kanan):
.flex-container { display: flex; flex-direction: row; }
Contoh
row-reverse
Nilai menata project flex secara horizontal (dari kanan ke kiri):
.flex-container { display: flex; flex-direction: row-reverse; }
Properti flex-wrap
flex-wrap
Properti menentukan apakah project flex harus diurutkan atau tidak.
Contoh di bawah ini mengandung 12 project flex untuk menunjukkan properti flex-wrap dengan baik.
Contoh
wrap
Nilai menentukan project flex akan diurutkan jika diperlukan:
.flex-container { display: flex; flex-wrap: wrap; }
Contoh
nowrap
Nilai menentukan project flex tidak akan diurutkan (baku):
.flex-container { display: flex; flex-wrap: nowrap; }
Contoh
wrap-reverse
Nilai menentukan jika project flex harus diurutkan dalam arah yang berlawanan jika diperlukan:
.flex-container { display: flex; flex-wrap: wrap-reverse; }
Properti flex-flow
flex-flow
Properti adalah singkatan untuk mengatur properti flex-direction dan flex-wrap sekaligus.
Contoh
.flex-container { display: flex; flex-flow: row wrap; }
Properti justify-content
justify-content
Properti digunakan untuk menarik project flex:
Contoh
center
Nilai menarik project flex di tengah kontainer:
.flex-container { display: flex; justify-content: center; }
Contoh
flex-start
Nilai menarik project flex di awal kontainer (baku):
.flex-container { display: flex; justify-content: flex-start; }
Contoh
flex-end
Nilai menarik project flex di ujung akhir kontainer:
.flex-container { display: flex; justify-content: flex-end; }
Contoh
space-around
Nilai menunjukkan project flex sebelum, di antara, dan setelah baris dengan ruang:
.flex-container { display: flex; justify-content: space-around; }
Contoh
space-between
Nilai menunjukkan project flex yang terdapat ruang di antara baris:
.flex-container { display: flex; justify-content: space-between; }
Properti align-items
align-items
Properti digunakan untuk menarik project flex secara vertikal.
Dalam contoh ini, kami menggunakan kontainer dengan tinggi 200 piksel untuk menunjukkan penggunaan properti align-items dengan baik.
Contoh
center
Nilai menempatkan item flex di tengah kontainer:
.flex-container { display: flex; height: 200px; align-items: center; }
Contoh
flex-start
Nilai menempatkan item flex di atas kontainer:
.flex-container { display: flex; height: 200px; align-items: flex-start; }
Contoh
flex-end
Nilai menempatkan item elasti di dasar bawah kontainer:
.flex-container { display: flex; height: 200px; align-items: flex-end; }
Contoh
stretch
Nilai mengepan item flex untuk mengisi kontainer (default):
.flex-container { display: flex; height: 200px; align-items: stretch; }
Contoh
baseline
Nilai membuat item flex beraturan garis dasar:
.flex-container { display: flex; height: 200px; align-items: baseline; }
Perhatian:Pada contoh ini, kita menggunakan ukuran font yang berbeda untuk menunjukkan bahwa item sudah disesuaikan menurut garis dasar teks:
Properti align-content
align-content
Atribut digunakan untuk menyesuaikan garis elasti.
Dalam contoh ini, kita menggunakan kontainer dengan tinggi 600 pixel dan mengatur atribut flex-wrap menjadi wrap untuk menunjukkan properti align-content dengan cara yang baik.
Contoh
space-between
Nilai menampilkan garis elasti dengan jarak yang sama di antaranya:
.flex-container { display: flex; height: 600px; flex-wrap: wrap; align-content: space-between; }
Contoh
space-around
Nilai menampilkan garis elasti sebelum, di antara, dan setelahnya dengan spasi:
.flex-container { display: flex; height: 600px; flex-wrap: wrap; align-content: space-around; }
Contoh
stretch
Nilai mengepan garis elasti untuk mengisi ruang sisa (default):
.flex-container { display: flex; height: 600px; flex-wrap: wrap; align-content: stretch; }
Contoh
center
Nilai menampilkan garis elasti di tengah kontainer:
.flex-container { display: flex; height: 600px; flex-wrap: wrap; align-content: center; }
Contoh
flex-start
Nilai menampilkan garis elasti di awal kontainer:
.flex-container { display: flex; height: 600px; flex-wrap: wrap; align-content: flex-start; }
Contoh
flex-end
Nilai menampilkan garis elasti di ujung kontainer:
.flex-container { display: flex; height: 600px; flex-wrap: wrap; align-content: flex-end; }
Menempatkan di tengah dengan sempurna
Dalam contoh di bawah, kita akan memecahkan masalah gaya yang sangat umum: menempatkan di tengah dengan sempurna.
Solusi: Taruh justify-content
dan align-items
Setel atribut menjadi tengah, lalu item flex akan menempatkan diri dengan sempurna:
Contoh
.flex-container { display: flex; height: 300px; justify-content: center; align-items: center; }
Elemen anak (item)
Elemen anak langsung kontainer flex akan otomatis menjadi item elasti (flex).
Elemen di atas mewakili empat item elastic biru di dalam kontainer elastic abu-abu.
Contoh
<div class="flex-container"> <div>1</div> <div>2</div> <div>3</div> <div>4</div> </div>
Properti yang digunakan untuk item elastic adalah:
order
flex-grow
flex-shrink
flex-basis
flex
align-self
Properti order
order
Properti menentukan urutan item flex.
Item flex pertama di kode tidak harus ditampilkan sebagai item pertama di layout.
order
Nilainya harus berupa angka, nilai standar adalah 0.
Contoh
order
Properti dapat mengubah urutan item flex.
<div class="flex-container"> <div style="order: 3">1</div> <div style="order: 2">2</div> <div style="order: 4">3</div> <div style="order: 1">4</div> </div>
Properti flex-grow
flex-grow
Properti menentukan berapa banyak item flex akan bertumbuh terhadap item flex lainnya.
Nilainya harus berupa angka, nilai standar adalah 0.
Contoh
Membuat kecepatan pertumbuhan item ke-3 elastic lebih cepat delapan kali daripada item elastic lain:
<div class="flex-container"> <div style="flex-grow: 1">1</div> <div style="flex-grow: 1">2</div> <div style="flex-grow: 8">3</div> </div>
Properti flex-shrink
flex-shrink
Properti menentukan berapa banyak item flex akan mengecil terhadap item flex lainnya.
Nilainya harus berupa angka, nilai standar adalah 0.
Contoh
Jangan perbolehkan item ke-3 elastic mengecil sejumlah yang sama dengan item elastic lain:
<div class="flex-container"> <div>1</div> <div>2</div> <div style="flex-shrink: 0">3</div> <div>4</div> <div>5</div> <div>6</div> <div>7</div> <div>8</div> <div>9</div> <div>10</div> </div>
Properti flex-basis
flex-basis
Properti menentukan panjang awal item flex.
Contoh
Menetapkan panjang awal item ke-3 elastic menjadi 200 piksel:
<div class="flex-container"> <div>1</div> <div>2</div> <div style="flex-basis: 200px">3</div> <div>4</div> </div>
Properti flex
flex
Properti adalah singkatan dari properti flex-grow, flex-shrink, dan flex-basis.
Contoh
Membuat item ke-3 elastic tidak dapat bertumbuh (0), tidak dapat mengecil (0), dan panjang awalnya adalah 200 piksel:
<div class="flex-container"> <div>1</div> <div>2</div> <div style="flex: 0 0 200px">3</div> <div>4</div> </div>
Properti align-self
align-self
Properti menentukan gaya penyejajaran item yang dipilih di dalam kontainer elastic.
align-self
Atribut akan menutupi cara pengaturan letak baku yang disetel di align-items kontainer.
Dalam contoh-contoh ini, kita menggunakan kontainer tinggi 200 pixel untuk memperlihatkan atribut align-self dengan baik:
Contoh
Jajarkan item ketiga ke tengah kontainer:
<div class="flex-container"> <div>1</div> <div>2</div> <div style="align-self: center">3</div> <div>4</div> </div>
Contoh
Jajarkan item kedua di atas kontainer, dan item ketiga di bawah kontainer:
<div class="flex-container"> <div>1</div> <div style="align-self: flex-start">2</div> <div style="align-self: flex-end">3</div> <div>4</div> </div>
Pustaka gambar responsif menggunakan Flexbox
Buat pustaka gambar responsif menggunakan Flexbox, yang berubah antara empat, dua, atau gambar penuh berdasarkan ukuran layar:
Situs web responsif menggunakan Flexbox
Buat situs web responsif menggunakan flexbox, termasuk navigasi elastic dan konten elastic:
Atribut CSS Flexbox
Tabel di bawah ini menampilkan atribut CSS yang digunakan bersamaan dengan flexbox:
Atribut | Deskripsi |
---|---|
display | Tentukan tipe kotak yang digunakan untuk elemen HTML. |
flex-direction | Tentukan arah item elastic di dalam kontainer elastic. |
justify-content | Jika item elastic belum menggunakan semua ruang yang tersedia di sumbu utama, sejajarkan item ini secara horizontal. |
align-items | Jika item elastic belum menggunakan semua ruang yang tersedia di sumbu utama, sejajarkan item ini secara vertikal. |
flex-wrap | Tentukan apakah item elastic harus dialihkan baris, jika tidak ada ruang yang cukup di garis flex untuk menampung mereka. |
align-content | Ubah perilaku atribut flex-wrap. Mirip dengan align-items, tetapi tidak mengatur letak item elastic, melainkan mengatur garis flex. |
flex-flow | Atribut singkat untuk flex-direction dan flex-wrap. |
order | Tentukan urutan item elastic terhadap item lain di dalam kontainer yang sama. |
align-self | Digunakan untuk item elastic. Menutupi atribut align-items kontainer. |
flex | Atribut singkat untuk flex-grow, flex-shrink serta flex-basis. |
- Halaman Sebelumnya Box Sizing CSS
- Halaman Berikutnya Kueri Media CSS