Generator Flexbox CSS
Flexbox adalah andalan untuk layout satu dimensi: baris card, nav bar, hero yang dipusatkan, form. Model container-dan-item kuat, tetapi belasan propertinya berinteraksi dengan cara yang tidak jelas. Generator ini menghilangkan tebakan saat menyiapkan container: pilih flex-direction, justify-content, align-items, flex-wrap, dan gap, lalu dapatkan aturan CSS yang rapi untuk langsung disalin ke stylesheet Anda.
Cara menghasilkan CSS
-
1
Pilih arah
Pilih row, column, atau varian terbaliknya. Ini mengatur flex-direction, yaitu sumbu tempat item mengalir.
-
2
Atur justify-content
Pilih cara item didistribusikan di sepanjang sumbu utama: awal, tengah, space-between, space-around, atau akhir.
-
3
Atur align-items
Pilih cara item disejajarkan pada sumbu silang: stretch, awal, tengah, atau akhir.
-
4
Atur gap dan wrap
Tambahkan jarak antar item dalam piksel dan tentukan apakah item turun ke baris baru.
-
5
Salin CSS
Generator mengeluarkan aturan container dengan semua properti, siap ditempel ke stylesheet Anda.
Properti container
| Properti | Nilai | Efek |
|---|---|---|
flex-direction |
row / column / row-reverse / column-reverse | Sumbu utama |
flex-wrap |
nowrap / wrap / wrap-reverse | Apakah item membungkus |
justify-content |
flex-start / center / flex-end / space-between / space-around / space-evenly | Distribusi main axis |
align-items |
flex-start / center / flex-end / baseline / stretch | Penjajaran cross axis setiap baris |
align-content |
nilai yang sama + space-between / space-around | Saat terbungkus, distribusi baris pada cross axis |
gap (row-gap, column-gap) |
panjang | Jarak antar item |
Properti item
| Properti | Nilai | Efek |
|---|---|---|
flex-grow |
0+ (tanpa unit) | Bagian sisa ruang yang diserap |
flex-shrink |
0+ (tanpa unit) | Bagian overflow yang dikecilkan |
flex-basis |
panjang atau auto | Ukuran awal sebelum grow/shrink |
flex |
shorthand (1 1 auto, dll.) |
Ketiganya sekaligus |
align-self |
auto / flex-start / center / flex-end / baseline / stretch | Menimpa align-items untuk satu item |
order |
bilangan bulat | Urutan ulang visual tanpa mengubah DOM |
Trik flex: 1
flex: 1 adalah shorthand untuk flex: 1 1 0%. Membuat item:
- Tumbuh untuk mengisi ruang yang tersedia (grow: 1)
- Menyusut jika perlu (shrink: 1)
- Mulai dari ukuran nol (basis: 0%)
Untuk kolom dengan lebar sama, flex: 1 pada setiap item memberi pembagian sempurna. Untuk sidebar yang tidak boleh menyusut di bawah konten, pakai flex: 0 0 240px (tanpa grow, tanpa shrink, basis 240px).
Pola umum
Hero yang dipusatkan
.hero {
display: flex;
justify-content: center;
align-items: center;
min-height: 100vh;
}
Navbar dengan logo di kiri, link di kanan
.nav {
display: flex;
align-items: center;
gap: 2rem;
}
.nav-links {
margin-left: auto; /* dorong ke kanan */
display: flex;
gap: 1rem;
}
Baris card responsif
.card-row {
display: flex;
flex-wrap: wrap;
gap: 1.5rem;
}
.card {
flex: 1 1 260px; /* grow/shrink, minimum 260px sebelum membungkus */
}
Field form dengan tombol (input fleksibel, tombol tetap)
.field {
display: flex;
gap: 0.5rem;
}
.field input {
flex: 1;
}
.field button {
flex: 0 0 auto;
}
Flexbox vs. Grid
- Flexbox: satu dimensi (baris ATAU kolom). Terbaik saat ukuran item didorong konten atau saat Anda mendistribusikan ruang sepanjang satu garis.
- Grid: dua dimensi (baris DAN kolom dengan track eksplisit). Terbaik saat layout memiliki struktur baris dan kolom secara bersamaan.
Untuk nav bar atau tumpukan card: Flexbox. Untuk grid card produk dengan beberapa baris card yang sejajar: CSS Grid. Banyak halaman nyata memakai keduanya, layout halaman Grid dengan Flexbox di dalam komponen.
Gotcha umum
- Item tidak mengisi container: default
align-items: stretchhanya berlaku jika item tidak memiliki tinggi tetap. Dengan tinggi eksplisit, mereka tetap pada ukuran tersebut. gaptidak bekerja: cek dukungan browser. Flex gap muncul terlambat; Safari <14.1 tidak mendukungnya. Sekarang universal di 2024+.- Anak dari flex kolom collapse: kolom flex memiliki
align-items: stretchsebagai default, yang meregangkan item ke lebar container. Jika satu anak menyetel width, ia keluar dari pola. orderhanya visual: screen reader dan navigasi keyboard mengikuti urutan DOM. Jangan pakaiorderuntuk membuat konten masuk akal; pakai untuk poles visual saja.
Pertanyaan yang Sering Diajukan
Grid untuk layout halaman dua dimensi (baris dan kolom bersama). Flexbox untuk distribusi satu dimensi (nav bar, baris tombol, tumpukan). Di dalam cell Grid, Flexbox untuk layout internalnya. Sebagian besar UI kompleks memakai keduanya.
Karena default flex-shrink adalah 1 tetapi default min-width adalah auto, yang sama dengan lebar konten. Atur min-width: 0 (atau min-inline-size: 0) pada item agar bisa menyusut di bawah ukuran intrinsiknya.
display: flex; justify-content: center; align-items: center; pada container. Mencakup sebagian besar kasus “pusatkan benda ini” dengan dua baris.
Ya, di semua browser modern. Safari terlambat (ditambahkan di 14.1, April 2021); sekarang setiap browser besar mendukungnya. Ganti spasi berbasis margin dengan gap jika bisa, jauh lebih sederhana.
Alat Terkait
Referensi Tabel ASCII
Tabel ASCII lengkap dari 0 sampai 127 dengan desimal, heksadesimal, oktal, biner, dan referensi karakter numerik HTML untuk setiap karakter, termasuk kode kontrol seperti NUL, LF, dan DEL.
Referensi Karakter HTML
Daftar entitas HTML yang dapat dicari, beserta kode bernama dan kode numeriknya, serta fitur salin dengan satu klik untuk karakter khusus dan simbol.
Referensi pintasan papan ketik
Cari pintasan bawaan terdokumentasi untuk VS Code, Chrome, dan Bash dengan GNU Readline di macOS, Windows, dan Linux.
Penghitung FPS
Ukur FPS browser dengan requestAnimationFrame: penghalusan, frame rate minimum dan maksimum, ambang peringatan, dan grafik opsional. Berjalan lokal, tanpa unggahan dan tanpa API.
Generator Warna Acak
Buat 1 hingga 50 warna HEX acak dengan contoh warna yang bisa dipratinjau, disalin, dan dipakai di CSS, pengujian, atau eksplorasi palet.
Pemilih Warna HEX
Pilih atau masukkan warna HEX untuk mendapatkan RGB, HSL, perkiraan CMYK, luminans relatif, serta kontras terhadap putih dan hitam.