Berpikir dalam Kotak
Semua yang kamu lihat di layar adalah kotak (box). Button, card, header, sidebar, semuanya kotak. Memahami box model dari perspektif UI design membantu kamu membuat layout yang rapi dan terstruktur.
Box Model Refresher
Urutan dari dalam ke luar: content → padding → border → margin. Background color mewarnai area content + padding, tidak termasuk margin.
Selalu Gunakan border-box
*, *::before, *::after {
box-sizing: border-box;
}
Dengan border-box, width: 300px berarti total lebar elemen adalah 300px (termasuk padding dan border). Ini membuat perhitungan layout jauh lebih mudah.
Padding vs Margin, Kapan Pakai Apa?
Padding = ruang di dalam elemen:
- Background color mencakup area padding
- Gunakan untuk memberi ruang antara konten dan tepi elemen
- Contoh: padding di dalam button, card, input
Margin = ruang di luar elemen:
- Tidak memiliki background
- Gunakan untuk memberi jarak antar elemen
- Contoh: jarak antar section, jarak antar card
Spacing System
Gunakan kelipatan yang konsisten untuk padding dan margin:
4px — micro (gap antar icon dan label)
8px — tight (padding dalam badge/tag)
12px — small
16px — base (padding default)
24px — medium
32px — large
48px — xlarge (antar section)
64px — xxlarge (antar section besar)
Apple dan Airbnb sangat konsisten dengan spacing system, setiap jarak adalah kelipatan dari base unit (biasanya 4px atau 8px).