# Bangun layout CSS dengan melihat perilaku, bukan menghafal properti
CSS Grid dan Flexbox kuat karena mendeskripsikan hubungan layout alih-alih koordinat tetap. Yang sulit adalah memprediksi bagaimana gap, justify-content, align-items, arah, pembungkusan, track, dan ruang yang tersedia berinteraksi. Generator ini mengubah properti abstrak menjadi taman bermain langsung dengan preset dan CSS real-time.# Flexbox vs Grid: pilih model sebelum menyempurnakan perataan
Flexbox
Terbaik untuk aliran satu dimensi di mana item berbaris dalam baris atau kolom dan membungkus secara alami.
- Bilah navigasi
- Grup tombol
- Kartu membungkus
- Konten terpusat
CSS Grid
Terbaik untuk struktur dua dimensi di mana baris dan kolom menentukan bentuk komposisi.
- Dashboard
- Galeri
- Formulir
- Bagian editorial
# Apa yang diajarkan setiap kontrol
| Kontrol | Properti CSS | Yang perlu diperhatikan |
|---|---|---|
| Arah | flex-direction | Bagaimana sumbu utama mengalir - beralih dari baris ke kolom mengubah seluruh logika layout. |
| Bungkus | flex-wrap | Apakah item tetap di satu baris atau mengalir ke baris baru saat ruang habis. |
| Jarak | gap | Ruang antara item tanpa margin yang rusak di tepi. |
| Ratakan | justify-content | Bagaimana ruang kosong didistribusikan di sepanjang sumbu utama. |
| Ratakan | align-items | Bagaimana item duduk di sumbu silang. |
| Ratakan konten | align-content | Bagaimana baris flex yang terbungkus atau baris grid mendistribusikan ruang sumbu silang tambahan. |
| Kolom | grid-template-columns | Berapa banyak track sama yang dibuat grid sebelum item pindah ke baris lain. |
| Ukuran kontainer | width dan min-height | Bagaimana CSS yang sama bereaksi saat ruang yang tersedia berubah. |
Skalakan dulu, optimalkan kemudian
Mulailah dengan menskalakan kanvas ke ukuran realistis. Kemudian sesuaikan jarak dan perataan. Dengan begitu CSS yang dihasilkan berfungsi dalam kondisi nyata.# CSS bersih yang dapat Anda adaptasi
.layout-playground {display: flex;flex-direction: row;flex-wrap: wrap;gap: 24px;justify-content: center;align-items: center;}