Setiap elemen HTML ditampilkan dalam bentuk box (kotak). Jika diperhatikan, sebuah website umumnya
terbagi menjadi beberapa area. Mulai dari menu di bagian atas, isi konten di bagian tengah, iklan di sisi
kanan, sampai credit dan info kontak di bagian paling bawah. Berikut contoh website yang menggunakan
box model:
Memang tidak semua website didesain seperti itu. Penempatannya bisa disesuaikan dengan kebutuhan dan
gaya yang diinginkan. Tapi dari ilustrasi di atas, bisa kita simpulkan bahwa website selalu ditampilkan
dalam bentuk kotak-kotak. Inilah yang dimaksud dengan box model.
Box model bertujuan untuk menyusun elemen-elemen website agar terlihat lebih rapi dan menarik. Tidak
hanya dari segi tampilan, interaksi dengan pengguna pun juga lebih maksimal. Penyusunan yang tepat
akan membuat website Anda menjadi lebih intuitif.
Karena setiap elemen disusun dan ditempatkan dengan rapi, pengguna bisa lebih mudah mencari dan
menggunakan setiap fitur yang ada di website Anda. Hasilnya, website Anda menjadi lebih mudah untuk
digunakan, menarik secara visual, dan membuat pengunjung betah berlama-lama di sana.
Setiap elemen dalam website harus didesain dengan teliti. Mulai dari ukuran, warna, penempatan, sampai
jarak antar elemen. Anda tidak akan mendapatkan hasil yang memuaskan kalau hanya mengandalkan
HTML untuk urusan ini. Karena itulah CSS Box Model hadir untuk melengkapi kekurangan-kekurangan
HTML.
CSS Box Model menyediakan fitur lengkap untuk mendesain elemen-elemen website sesuai keinginan
Anda. Sekarang, mari kita bahas semuanya satu-per-satu.
CSS Box Model terdiri dari 3 property yaitu margin, padding, dan border. Masing-masing property
mempunyai fungsi dan cara penggunaan tersendiri. Kita mulai dari property yang pertama.
1. Margin
Dalam Model Box CSS, property margin digunakan untuk mengatur jarak antar elemen. Tanpa pengaturan
margin, elemen-elemen website Anda bisa saling berbenturan atau melekat satu sama lain. Ini akan
membuat website Anda terlihat berantakan dan tidak menarik.
Penggunaan property margin bisa Anda lihat pada contoh kode di bawah ini.
<html>
<head>
<style>
.elemen {
width : 120px;
height : 120px;
background-color : red;
margin-bottom : 30px;
</style>
</head>
<body>
<div class="elemen">
Elemen 1
</div>
<div class="elemen">
Elemen 2
</div>
</body>
</html>
Jalankan kode di atas menggunakan web browser. Anda akan melihat dua kotak berwarna merah seperti di
bawah ini :
Terdapat jarak antara Elemen 1 dan elemen 2. Jarak tersebut kita buat dengan property margin-bottom
seperti pada contoh kode di atas. Coba saja mengubah nilai margin-bottom dari 70px ke nilai berapa pun
yang Anda suka. Jarak antara kedua kotak tersebut pasti juga berubah.
Property margin digunakan untuk mengatur jarak antar elemen. Tidak hanya ke bawah, Anda juga bisa
menentukan jarak di sisi atas, kiri, dan kanan. Lihat tabel di bawah :
Pada contoh di atas, property margin dibuat lebih ringkas menjadi satu baris yang langsung berisi empat
nilai. Secara berurutan, nilai-nilai tersebut adalah top (atas), right (kanan), bottom (bawah), dan left (kiri).
Selain menentukan ukuran margin untuk masing-masing sisi seperti di atas, Anda juga bisa menggunakan
Shorthand yang lebih ringkas seperti di bawah ini :
Pada contoh kode di atas, kita hanya menentukan dua nilai margin. Nilai yang pertama digunakan untuk
sisi atas dan bawah. Nilai yang terakhir menentukan ukuran margin kiri dan kanan. Shorthand di atas
digunakan apabila margin atas dan bawah bernilai sama, serta kiri dan kanan juga bernilai sama.
Dengan shorthand di atas, margin top ditentukan dengan nilai pertama yaitu 50px. Nilai kedua menentukan
margin kiri dan kanan. Sedangkan nilai terakhir adalah margin bottom. Ini digunakan bila margin kiri dan
kanan bernilai sama, tapi atas dan bawahnya berbeda.
2. Padding
Property CSS Box Model yang kedua adalah padding. Fungsi dari property ini adalah untuk memberikan
jarak pada isi elemen.
Coba Anda lihat lagi gambar kedua kotak di atas. Walaupun kita sudah membuat jarak antara elemen 1 dan
elemen 2, tapi teks yang tertulis di dalam elemen terlihat terlalu mepet ke garis kotak.
Hal ini membuat teks terlihat tidak rapi. Untuk mengatasinya, Anda bisa menggunakan property padding
agar teks diletakkan agak ke tengah sehingga tidak terlalu mepet.
<html>
<head>
<style>
.elemen {
width : 120px;
height : 120px;
background-color : red;
margin-bottom : 30px;
padding-left : 10px;
padding-top : 10px;
</style>
</head>
<body>
<div class="elemen">
Elemen 1
</div>
<div class="elemen">
Elemen 2
</div>
</body>
</html>
Dari contoh kode sebelumnya, kita tambahkan dua property padding. Yang pertama adalah padding-left
untuk memberi jarak dari sisi kiri. Kemudian padding-top untuk jarak dari atas. Hasilnya bisa Anda lihat
pada gambar berikut ini :
Dengan menentukan padding, teks dalam elemen terlihat lebih berjarak dari garis kotak. Dengan begitu,
teks menjadi lebih rapi dan mudah untuk dibaca.
Sama seperti margin, padding juga terdiri dari empat property, yaitu :
padding-top Mengatur jarak elemen dengan isi dari sisi atas padding-top : 50px
padding-bottom Mengatur jarakelemen dengan isi dari sisi bawah padding-bottom : 50px
padding-left Mengatur jarak elemen dengan isi dari sisi kiri padding-left : 50px
padding-right Mengatur jarak elemen dengan isi dari sisi kanan padding-right : 50px
Penting untuk dicatat bahwa padding left dan right akan menambah ukuran width. Sedangkan top dan
bottom menambah ukuran height.
Misalnya, pada contoh di atas, kita memberikan nilai sebesar 10px untuk padding-left dan padding-top.
Secara otomatis, ukuran width dan height elemen juga akan bertambah sebesar 10px menjadi 130px.
3. Border
Anda mungkin sudah tidak asing lagi dengan istilah border. Dalam CSS Box Model, border berfungsi
untuk memberikan garis pinggir. Coba Anda lihat lagi contoh di atas. Warna merah pada elemen
berbenturan langsung dengan background.
Border sangat diperlukan jika warna elemen dan warna background saling tumpang tindih. Bayangkan jika
Anda harus mencantumkan gambar bendera merah putih di website berwarna background putih. Warna
putih pada bendera akan menyatu dengan background sehingga pengunjung hanya akan melihat warna
merah.
Lain halnya jika Anda memberikan batas pada gambar bendera berupa border berwarna hitam. Pengunjung
akan melihat bahwa gambar tersebut adalah bendera merah putih. Itulah gunanya border.
Penggunaan property border pada CSS Box Model bisa Anda lihat pada contoh kode berikut :
<html>
<head>
<style>
.elemen {
width : 120px;
height : 120px;
background-color : red;
margin-bottom : 30px;
padding-left : 10px;
padding-top : 10px;
border-width : 6px;
border-style : solid;
border-color : black;
</style>
</head>
<body>
<div class="elemen">
Elemen 1
</div>
<div class="elemen">
Elemen 2
</div>
</body>
</html>
Dapat dilihat bahwa ada 3 property baru yang kita tambahkan. Jika Anda menjalankan kode di atas di web
browser, Anda akan mendapatkan hasil seperti ini :
Anda bisa melihat ada garis hitam yang membatasi keempat sisi elemen. Itu adalah hasil dari property
border yang kita tentukan pada kode di atas.
Penjelasan dari ketiga property border tersebut bisa Anda lihat pada tabel di bawah ini :
padding-left Mengatur jarak elemen dengan isi dari sisi kiri margin-left : 50px
Sama seperti margin dan padding, ukuran border juga akan menambah ukuran elemen. Jadi perhitungkan
baik-baik ukuran elemen yang Anda inginkan dengan menyertakan padding dan border.
Untuk menggunakan Shorthand pada property border, Anda bisa mengikuti contoh seperti di bawah ini :
Dengan shorthand di atas, kita menentukan ukuran, jenis, dan warna border dalam satu baris sekaligus.
Cara ini tentu lebih efisien dalam penulisan kode program daripada harus menentukan setiap property satu-
per-satu. Kecuali jika memang Anda merasa perlu menuliskan setiap property secara spesifik.
Untuk memperdalam pemahaman Anda mengenai CSS Box Model, Anda bisa memodifikasi contoh kode
di atas dengan nilai-nilai yang berbeda. Buatlah lebih banyak elemen dengan mencoba setiap property
yang baru saja Anda pelajari. Praktik langsung adalah cara paling efektif untuk memahami dan mengingat
materi pemrograman
Outline Style
outline style digunakan untuk mengatur bagaimana style dari sebuah garis, semisal
anda ingin membuat garis lurus, garis putus putus dan model garis yang lain, anda
dapat menggunakan property outline-style, untuk lebih memahami silahkan perhatikan
skrip dibawah ini :
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <style>
5p{
7 outline-color:red;
8}
17 </style>
18 </head>
19 <body>
20
22
31 </body>
32 </html>
semisal kita simpan dengan nama outline-style.html, lalu kita buka di browser maka
tampilannya adalah sebagai berikut :
Penjelasannya :
Terlihat beberapa paragraf yang menggunakan garis outline yang berbeda, hal tersebut
dikarenakan kita menggunakan outline style yang berbeda di masing – masing paragraf
Perhatikan penggunaan masing masing dari value outline-style pada masing masing class
yang digunakan di masing masing paragraf
Jika anda belum memahami penggunaan class silahkan baca pembahasan kami
mengenai jenis jenis selector css
outline-width
Selain bisa mengatur style dari garis outline, CSS juga dapat digunakan untuk mengatur
ukuran dari outline. Anda bisa menentukan ukurannya apakah 1 px 2 px dan
seterusnya.
2 <html>
3 <head>
4 <style>
6
7 p.satu {
8 outline-style: double;
9 outline-width: thick;
10 margin:30px;
11 }
12
13 p.dua {
14 outline-style: double;
15 outline-width: 10px;
16 margin:30px;
17 }
18 </style>
19 </head>
20 <body>
21
23
26
27 </body>
28 </html>
1. Paragraf pertama menggunakan ukuran outline-width thick; pada class satu, sehingga
outline terlihat hampir menyatu dengan border pada paragraf 1
2. Paragraf kedua menggunakan ukuran outline-width 10px; pada class dua, outline di
paragraf 2 terlihat lebih ada jarak dengan border.
Outline-Color
Selain merubah style garis dan ukuran garis, CSS juga dapat digunakan untuk mengatur
warna dari garis outline, untuk lebih memahami silahkan perhatikan skrip dibawah ini :
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <style>
5 p.satu {
7 outline-style: double;
8 outline-color: red;
9 outline-width: 10px;
10 margin:30px;
11 }
12 p.dua {
14 outline-style: double;
15 outline-color: green;
16 outline-width: 10px;
17 margin:30px;
18 }
19 </style>
20 </head>
21 <body>
22
24
27
28 </body>
29 </html>
1. Paragraf pertama untuk outline memiliki warna merah, karena class satu menggunakan
property outline-color:red;
2. Paragraf kedua untuk border memiliki warna garis hijau, karena class dua menggunakan
property border-color:green;
Outline Shorthand Property
Istilah shorthand adalah pemendekan dalam penulisan property outline di CSS, jadi anda
dapat menset style, ukuran, dan warna garis outline, secara bersamaan dalam satu
perintah.
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <style>
5p{
8}
9 </style>
10 </head>
11 <body>
12
14
15 <p>Paragraf Pertama</p>
16
17 </body>
18 </html>
Penjelasan :
Paragraf tersebut memiliki outline dengan style garis dotted, ukuran 5 pixel dan
berwarna merah, anda hanya perlu menuliskan outline: 5px dotted red;
Outline Style
outline style digunakan untuk mengatur bagaimana style dari sebuah garis, semisal anda ingin membuat
garis lurus, garis putus putus dan model garis yang lain, anda dapat menggunakan property outline-style,
untuk lebih memahami silahkan perhatikan skrip dibawah ini :
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <style>
5 p{
7 outline-color:red;
8 }
17</style>
18</head>
19<body>
20
22
31</body>
32</html>
semisal kita simpan dengan nama outline-style.html, lalu kita buka di browser maka tampilannya adalah
sebagai berikut :
Penjelasannya :
Terlihat beberapa paragraf yang menggunakan garis outline yang berbeda, hal tersebut
dikarenakan kita menggunakan outline style yang berbeda di masing – masing paragraf
Perhatikan penggunaan masing masing dari value outline-style pada masing masing class yang
digunakan di masing masing paragraf
Jika anda belum memahami penggunaan class silahkan baca pembahasan kami mengenai jenis
jenis selector css
outline-width
Selain bisa mengatur style dari garis outline, CSS juga dapat digunakan untuk mengatur ukuran dari
outline. Anda bisa menentukan ukurannya apakah 1 px 2 px dan seterusnya.
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <style>
6
7 p.satu {
8 outline-style: double;
9 outline-width: thick;
10 margin:30px;
11}
12
13p.dua {
14 outline-style: double;
15 outline-width: 10px;
16 margin:30px;
17}
18</style>
19</head>
20<body>
21
23
26
27</body>
28</html>
semisal kita simpan dengan nama outline-width.html lalu silahkan buka di browser, maka tampilannya
adalah sebagai berikut :
3. Paragraf pertama menggunakan ukuran outline-width thick; pada class satu, sehingga outline
terlihat hampir menyatu dengan border pada paragraf 1
4. Paragraf kedua menggunakan ukuran outline-width 10px; pada class dua, outline di paragraf 2
terlihat lebih ada jarak dengan border.
Outline-Color
Selain merubah style garis dan ukuran garis, CSS juga dapat digunakan untuk mengatur warna dari garis
outline, untuk lebih memahami silahkan perhatikan skrip dibawah ini :
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <style>
5 p.satu {
7 outline-style: double;
8 outline-color: red;
9 outline-width: 10px;
10 margin:30px;
11}
12p.dua {
14 outline-style: double;
15 outline-color: green;
16 outline-width: 10px;
17 margin:30px;
18}
19</style>
20</head>
21<body>
22
24
28</body>
29</html>
Semisal kita simpan dengan nama outline-color.html lalu silahkan buka di browser maka hasilnya adalah
sebagai berikut :
3. Paragraf pertama untuk outline memiliki warna merah, karena class satu menggunakan property
outline-color:red;
4. Paragraf kedua untuk border memiliki warna garis hijau, karena class dua menggunakan property
border-color:green;
Outline Shorthand Property
Istilah shorthand adalah pemendekan dalam penulisan property outline di CSS, jadi anda dapat menset
style, ukuran, dan warna garis outline, secara bersamaan dalam satu perintah.
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <style>
5 p{
9 </style>
10</head>
11<body>
12
14
15<p>Paragraf Pertama</p>
16
17</body>
18</html>
semisal kita simpan dengan nama outline-shorthand.html lalu kita buka di browser, maka hasilnya
adalah sebagai berikut :
Penjelasan :
Paragraf tersebut memiliki outline dengan style garis dotted, ukuran 5 pixel dan berwarna
merah, anda hanya perlu menuliskan outline: 5px dotted red;