Box Model di CSS: Pengertian, Fungsi, dan Contoh

Box Model di CSS: Pengertian, Fungsi, dan Contoh

Box Model di CSS adalah fondasi cara browser menghitung ukuran dan tata letak setiap elemen pada halaman web.

Halo teman-teman, semoga kalian sehat dan semangat belajar front-end! Pada artikel ini kodelyly.com akan membahas Box Model di CSS secara praktis agar kalian paham cara kerja content, padding, border, margin, serta pengaruhnya pada lebar dan tinggi elemen.

Box Model Di CSS

Secara default, setiap elemen HTML diperlakukan sebagai sebuah kotak. Kotak ini tersusun dari empat lapisan: content di tengah, diikuti padding, lalu border, dan paling luar margin. Memahami susunan ini penting untuk mencegah layout “melar” tak terduga dan memastikan desain responsif tetap rapi di berbagai ukuran layar.

Bagian_Bagian Box Model

BagianKeteranganProperti Utama
ContentArea isi tempat teks/gambar dirender.width, height
PaddingRuang di sekitar content di dalam border.padding, padding-top/right/bottom/left
BorderGaris pembatas mengelilingi padding dan content.border, border-width/style/color
MarginRuang di luar border yang memisahkan elemen dari elemen lain.margin, margin-top/right/bottom/left

Perhitungan total lebar elemen tradisional yang memakai content-box adalah: total width = width + padding kiri + padding kanan + border kiri + border kanan + margin kiri + margin kanan. Perhitungan tinggi bekerja serupa pada sumbu vertikal.

Box_sizing: Content_box Vs Border_box

Properti box-sizing mengubah cara browser menghitung ukuran elemen.

ModeCara MenghitungKapan Dipakai
content-box (default)width hanya untuk area content; padding dan border ditambahkan di luar.Ketika kalian butuh kontrol penuh pemisahan content vs dekorasi.
border-boxwidth sudah mencakup content + padding + border, sehingga total lebar lebih mudah diprediksi.Desain responsif modern, grid, dan komponen UI yang konsisten.

Contoh praktis penerapan border-box secara global agar layout lebih stabil:

/* Terapkan ke seluruh dokumen */
*, *::before, *::after { box-sizing: border-box; }
html { font-family: system-ui, Arial, sans-serif; }

.card {
  width: 300px;      /* Sudah termasuk padding + border */
  padding: 16px;
  border: 2px solid #ddd;
  margin: 12px auto;
}

Ilustrasi Perbedaan

Dengan content-box:

.box-a {
  box-sizing: content-box;
  width: 300px;      /* hanya content */
  padding: 20px;     /* menambah total lebar */
  border: 4px solid #333; /* menambah total lebar */
}

Dengan border-box:

.box-b {
  box-sizing: border-box;
  width: 300px;      /* total = 300 termasuk padding + border */
  padding: 20px;
  border: 4px solid #333;
}

Tips Praktik Terbaik

  1. Terapkan box-sizing: border-box; secara global untuk mempermudah kalkulasi layout.
  2. Rencanakan padding dibanding margin saat ingin memperbesar ruang di dalam komponen agar area klik tetap luas.
  3. Hati-hati dengan margin collapse pada elemen blok bertumpuk; gunakan padding atau border tipis untuk mencegahnya jika perlu.

FAQ Box Model Di CSS

Berikut kumpulan pertanyaan yang paling sering muncul tentang Box Model di CSS. Kalian bisa langsung tempel di akhir artikel, termasuk versi Schema FAQ untuk SEO.

Pertanyaan & Jawaban

  1. Apa itu Box Model di CSS?
    Box Model adalah cara browser menghitung ukuran dan jarak sebuah elemen berbasis empat lapisan: content, padding, border, dan margin.
  2. Apa saja bagian-bagian Box Model dan fungsinya?
    Content menampung isi; padding memberi ruang di dalam border; border membingkai elemen; margin memberi jarak dengan elemen lain.
  3. Apa perbedaan padding dan margin?
    Padding menambah ruang di dalam elemen (memperluas area klik/warna latar). Margin menambah jarak di luar elemen (memisahkan antar elemen).
  4. Bagaimana cara menghitung total lebar/tinggi pada mode content-box?
    Total lebar = width + padding-left + padding-right + border-left + border-right + margin-left + margin-right. Tinggi dihitung serupa pada sumbu vertikal.
  5. Apa bedanya content-box dan border-box pada box-sizing?
    content-box (default): width hanya area konten. border-box: width sudah mencakup konten + padding + border, sehingga total lebih mudah diprediksi.
  6. Kapan sebaiknya memakai border-box?
    Hampir selalu pada layout modern responsif, komponen UI, dan grid agar ukuran tetap konsisten saat menambah padding/border.
  7. Bagaimana menerapkan border-box secara global?
    *, *::before, *::after { box-sizing: border-box; }
    
  8. Apa itu margin collapse dan bagaimana mencegahnya?
    Margin vertikal elemen blok yang berdekatan bisa “menyatu”. Cegah dengan memberi padding/border tipis pada kontainer, atau ubah konteks layout (mis. overflow: auto atau display: flow-root).
  9. Kapan memilih margin dibanding padding?
    Gunakan margin untuk jarak antar elemen; gunakan padding saat ingin memperbesar ruang internal dan area interaksi komponen.
  10. Bagaimana Box Model memengaruhi desain responsif?
    Dengan border-box, width yang ditetapkan sudah final, sehingga grid/kolom lebih stabil di berbagai viewport.
  11. Bagaimana men-debug Box Model di DevTools?
    Buka panel Elements/Inspector lalu lihat tab Computed/Box Model untuk memeriksa nilai content, padding, border, dan margin secara visual.
  12. Apakah perilaku Box Model sama pada elemen inline?
    Elemen inline tidak memengaruhi layout secara blok; margin/padding horizontal bekerja normal, sementara vertikalnya terbatas pada tinggi baris.
  13. Apakah outline memengaruhi perhitungan ukuran elemen?
    Tidak. outline tidak mengubah ukuran box, berbeda dengan border yang masuk perhitungan.
  14. Contoh singkat komponen yang stabil ukurannya
    .card {
      width: 300px;           /* total termasuk padding + border */
      padding: 16px;
      border: 2px solid #ddd;
      box-sizing: border-box;
      margin: 12px auto;
    }
    

Kesimpulan

Box Model di CSS menentukan bagaimana ukuran dan jarak elemen dihitung. Dengan memahami lapisan content–padding–border–margin serta memilih box-sizing yang tepat (seringnya border-box), kalian bisa membangun layout responsif yang rapi dan mudah dipelihara. Sekian artikel dari kodelyly.com, semoga bermanfaat dan sampai jumpa di pembahasan CSS berikutnya!

About the Author

BUKA KOMENTAR (0)
Cookie Consent
We serve cookies on this site to analyze traffic, remember your preferences, and optimize your experience.