Pengertian
CSS Box Model adalah konsep fundamental yang harus dipahami setiap pengembang web. Konsep ini menyatakan bahwa setiap elemen HTML pada dasarnya adalah sebuah "kotak" persegi. Kotak ini terdiri dari empat bagian: Content (isi: teks, gambar), Padding (ruang di antara konten dan border), Border (garis tepi), dan Margin (ruang di luar border, antara elemen ini dengan elemen lain).
Analogi
Analogi: Lukisan Berbingkai di Dinding
Bayangkan sebuah lukisan yang digantung di dinding.
• Content: Adalah lukisan itu sendiri.
• Padding: Adalah karton putih (passe-partout) di antara lukisan dan bingkai.
• Border: Adalah bingkai kayu itu sendiri.
• Margin: Adalah jarak kosong di dinding antara bingkai lukisan ini dengan bingkai lukisan lainnya.
Contoh Kode & Hasil
1. Padding
Memberi ruang di dalam elemen.
.box-padding { padding: 20px; /* 20px di semua sisi */ }
2. Margin
Memberi ruang di luar elemen.
.box-margin { margin-bottom: 20px; /* Hanya memberi jarak di bawah */ }
3. Width & Height
Mengatur ukuran area konten.
.box-ukuran { width: 200px; height: 100px; /* Ukuran total lebar: 200px (width) + 20px (padding) + 2px (border) = 222px */ }
4. Shorthand (Penyingkatan)
Menulis properti untuk semua sisi sekaligus.
.box-shorthand { /* padding: atas/bawah | kanan/kiri */ padding: 10px 20px; /* margin: atas | kanan | bawah | kiri */ margin: 10px 5px 15px 20px; }
5. Properti box-sizing: border-box
Properti ini mengubah cara kerja box model. Dengan border-box, width dan height yang kita tentukan sudah termasuk padding dan border, sehingga perhitungan layout menjadi jauh lebih mudah.
.box-modern { box-sizing: border-box; width: 200px; padding: 10px; /* Ukuran total lebar tetap 200px, area kontennya yang menyempit */ }
Latihan Mandiri
Tugas: Membuat Tombol Kustom
- Buat sebuah elemen
<a>(link) dan beri class.tombol-custom. - Hilangkan garis bawahnya (
text-decoration: none). - Beri
background-colorbiru dancolorteks putih. - Gunakan
paddinguntuk memberikan ruang di dalam tombol (misal: 10px atas-bawah, 20px kanan-kiri). - Gunakan
marginuntuk memberikan jarak 15px dari elemen lain di sekitarnya. - Beri
bordersolid 2px dengan warna biru tua danborder-radius5px.
Kesimpulan
CSS Box Model adalah konsep paling fundamental dalam layouting web. Memahami bagaimana margin, border, padding, dan content bekerja bersama akan memungkinkan kita untuk mengontrol ukuran dan posisi elemen dengan presisi. Menggunakan box-sizing: border-box adalah praktik modern yang sangat direkomendasikan untuk menyederhanakan perhitungan layout.