Apa itu box model?
Istilah box model digunakan untuk menentukan ruang antar elemen saat membuat desain dan tata letak elemen website. Istilah ini muncul karena semua elemen HTML dianggap sebagai kotak.
Box model adalah sebuah kotak yang membungkus setiap elemen HTML. Kotak ini terdiri dari margin, border, padding, dan content.
- Margin - area terluar yang kosong setelah border. Margin bersifat transparan.
- Border - garis tepi yang membungkus padding dan konten.
- Padding - area kosong di antara konten dan border. Padding bersifat transparan.
- Content - tempat elemen HTML yang akan ditampilkan. Berisi value/nilai dari HTML seperti teks, gambar, video, ataupun suara.
Lebar dan Tinggi Elemen
Untuk dapat mengatur lebar dan tinggi elemen dengan benar di semua browser, kita perlu mengetahui cara perhitungan ruang dari sebuah elemen box.
Perhatikan contoh mencari berikut:
- Content - area content dari elemen <p> adalah teks paragraf di dalam kotak yang ukurannya telah kita atur yaitu lebarnya 300px dan tingginya 100px.
- Padding - area di antara teks paragraf dengan area kotak hitam adalah padding dari elemen <p> yang telah kita atur jaraknya yaitu 50px.
- Border - area warna hitam adalah border dari elemen <p> yang ketebalannya telah kita atur yaitu 15px.
- Margin - area terluar yang berisi teks Contoh Box Model adalah margin yang jaraknya dari border telah kita atur yaitu 20px.
Dari informasi di atas, jika kita hitung total lebar box yang mengelilingi elemen <p> adalah:
Lebar box = 300px + 50px + 50px + 15px + 15px + 20px + 20px = 470px
Contoh lainnya:
Tetapi ketika salah satu (atau semua) dari element tersebut memiliki border atau padding (misalkan padding: 10px dan border: 2px solid black), maka ke-empat gambar tersebut menjadi seperti di bawah ini sekarang:
Mengapa begitu?
Sebab sekarang lebar dari satu buah element <img> pada contoh di atas bukan lagi 150px. Melainkan 100px ditambah lebar padding dan border di kiri dan kanan.
Jadi lebar element <img> sekarang adalah 150px + (2 x 10px) + (2 x 2px) atau sama dengan 174px.
Tentu empat buah element dengan lebar 174px tidak akan muat di dalam <div> dengan lebar 600px. Makanya pada ilustrasi di atas ada satu gambar yang harus ditempatkan di baris berikutnya.
Untuk mengatasi hal tersebut, ada properti CSS yang bisa membantu kita yaitu box-sizing.
Apa itu Box Sizing?
Secara default, semua element HTML memiliki properti box-sizing: content-box, sehingga pemberian properti width dan height hanya mempengaruhi lebar dan tinggi dari konten suatu element.
Dengan memberi properti box-sizing: border-box pada sebuah element, pemberian properti width dan height tidak lagi menentukan lebar dan tinggi dari konten, melainkan lebar dan tinggi dari element.
Jadi, ukuran element: ukuran konten + padding + border.
0 Komentar