Bab 11 CSS Box Model, Padding, Border, Margin, Dan Tabel
Bab 11 CSS Box Model, Padding, Border, Margin, Dan Tabel
PERANCANGAN WEB
Semua elemen HTML dapat sebenarnya dapat dimodelkan menjadi kotak-kotak. Dalam CSS, istilah “box model” digunakan
ketika berbicara mengenai layout dan design.
Box Model CSS sebenarnya merupakan suatu kotak yang membungkus semua elemen HTML. Kotak ini terdiri dari: margin,
border, padding dan isi yang sebenarnya. Gambar di bawah ini mengilustrasikan box model
Margin
Border
Padding
Content
Penjelasan:
• Content — Bagian isi dari kotak, di mana teks dan gambar muncul
• Padding — Bagian ini mengosongkan area di sekitar content. Padding bersifat transparan
• Border — Border yang mengelilingi padding dan content
• Strong — Bagian ini mengosongkan area di luar border. Margin bersifat transparan
box-direction Menentukan bagaimana urutan elemen anak suatu kotak ditampilkan terbalik atau 3
tidak. Nilai:
normal → elemen anak ditampilkan dengan urutan default.
reverse → elemen anak ditampilkan dengan urutan terbalik.
box-flex Mengatur fleksibelitas elemen anak dalam suatu kotak. Nilainya merupakan rasio 3
perbandingan antar elemen.
box-ordinal-group Menentukan urutan elemen anak dalam suatu kotak. Nilainya merupakan angka, di 3
mana angka yang lebih kecil akan ditampilkan lebih dahulu.
box-pack Menentukan letak horizontal dalam kotak horizontal and letak vertikal bila kotak 3
merupakan kotak vertikal.
box-sizing Menentukan elemen anak agar dapat memenuhi suatu area. Misalnya jika ingin 3
membuat dua buah kotak yang berdampingan, dapat dilakukan dengan properti box-
sizing diberi nilai "border-box". Browser akan dipaksa untuk menampilkan
pengkotakan dengan ukuran yang telah ditentukan dan meletakkan border dan
paddingnya di dalam kotak tersebut. Nilai:
border-box → pada model ini, padding dan border sudah termasuk dalam ukuran
kotak.
content-box → padding dan border diluar ukuran kotak.
overflow-x Mengatur isi apabila isi lebih besar daripada kotak. Nilai: 3
overflow-y visible → isi akan dibiarkan melimpah dari kotak.
hidden → isi yang melimpah akan disembunyikan.
scroll → penambahan scroll pada kotak.
auto → jika isi lebih besar maka akan otomatis ditambahkan scroll.
no-display: → jika isi tidak muat, maka seluruh kotak akan dihapus.
no-content → jika isi tidak muat, maka seluruh isi akan disembunyikan.
Penting: Ketika mengatur width dan height suatu elemen dengan CSS, maka width dan height tersebut hanya
berlaku pada bagian content saja. Sehingga untuk menghitung keseluruhan ukuran suatu elemen, harus ditambah dengan
padding, border dan marginnya.
/*Content-Box*/ /*Border-Box*/
p { p {
background: #c2f670; …
width: 500px; box-sizing: border-box;
height: 150px; width: 500px;
padding: 20px; height: 150px;
border: 2px solid gray; }
margin: 20px;
}
border-color Menentukan warna dari keempat border. Properti ini dapat memiliki satu sampai 1
empat nilai. Contohnya:
◦ border-color:red green;
◦ border atas dan bawah = red
◦ border kiri dan kanan = green
◦ border-color:red;
◦ semua border = red
border-style Mengatur style keempat border. Nilai: none, hidden, dotted, dashed, solid, double, 1
groove, ridge, inset, outset. Properti ini dapat memiliki satu sampai 4 nilai.
Contohnya:
◦ border-style:dotted solid;
◦ border atas dan bawah = dotted
◦ border kiri dan kanan = solid
◦ border-style:dotted;
◦ semua border = dotted
border-width Mengatur ketebalan keempat border dalam satu deklarasi. Nilai: thin, medium, thick, 1
angka dengan CSS unit. Properti ini dapat memiliki satu sampai empat nilai.
Contohnya:
◦ border-width:thin medium;
◦ border atas dan bawah = thin
◦ border kiri dan kanan = medium
◦ border-width:thin;
◦ semua border = thin
border-radius Mengatur lengkungan pada keempat border dalam satu deklarasi. Syntax: 3
Nilai properti ini dapat berupa persentase atau angka dalam CSS unit. Contoh:
Properti border-image mengizinkan Anda untuk menggunakan gambar untuk menggantikan border biasa. Untuk
menggunakan properti ini, minimal diperlukan 3 nilai, yaitu:
Properti border-image akan memotong gambar menjadi 9 bagian, seperti papan tic-tac-toe. Kemudian, properti tersebut
akan meletakkan bagian sudut pada sudut border, dan bagian tengah akan diulang atau diregangkan sesuai yang ditentukan.
Contoh:
#borderimg { #borderimg {
border: 10px solid transparent; border: 10px solid transparent;
padding: 15px; padding: 15px;
border-image: url(border.png) 30 round;} border-image: url(border.png) 30 stretch;}
Properti Deskripsi
border-image-source Menentukan alamat gambar yang akan digunakan sebagai border gambar.
border-image-repeat Menentukan apakah border gambar akan diulang, diulang sekaligus diperbesar/diperkecil,
atau diregangkan. Nilai:
stretch → Default. Gambar akan diregangkan sampai memenuhi area border,
Padding adalah area antara isi dan border dalam suatu elemen. Nilai dari properti padding dapat berupa angka dengan CSS
unit ataupun persentase.
padding Menentukan padding dalam satu deklarasi. Padding ada memiliki 1 sampai 4 nilai, 1
contohnya:
◦ padding:10px 5px;
◦ padding atas dan bawah = 10px
◦ padding kiri dan kanan = 5px
◦ padding:10px;
◦ semua padding = 10px
Margin digunakan untuk mengatur area di luar border terhadap sekitarnya. Margin digunakan agar antar elemen tidak saling
berbenturan. Nilai dari margin dapat berupa angka dengan CSS unit, persentase, ataupun kata kunci "auto"(browser akan
menentukannya sendiri, biasanya objek akan diatur menjadi di tengah jika margin kiri dan kanan bernilai auto).
margin Mengatur margin dalam satu deklarasi. Margin dapat mempunyai satu sampai empat 1
nilai. Contohnya:
◦ margin:10px 5px;
◦ margin atas dan bawah = 10px
◦ margin kiri dan kanan = 5px
◦ margin:10px;
◦ semua margin = 10px
Note: Biasanya margin atas dan bawah pada dua elemen yang bersinggungan akan digabungkan menjadi margin tunggal
yang merupakan margin terbesar dari kedua margin yang bersinggungan. Misalnya:
h1 {
margin: 0 0 50px 0;
}
h2 {
margin: 20px 0 0 0;
}
Margin di antara h1 dan h2 di atas seharusnya 50px + 20px = 70px. Tetapi karena margin collapse, maka margin antar
dua elemen tersebut akan menjadi 50px.
table pada dasarnya akan ditampilkan tanpa border pada browser. Untuk menampilkan table dengan lebih indah pada
browser dapat digunakan beberapa properti berikut:
Properti Deskripsi
Karena dibentuk border pada table , td , dan th , maka akan terbentuk ruang kosong antar
border. Hal ini dapat dapat diatasi dengan menambahkan border-collapse: collapse ,
seperti yang dijelaskan di bawah.
border-collapse Mengatur apakah jarak antar border yang berdampingan dihilangkan. Nilai:
separate → default, akan dipisahkan
collapse → akan digabung dan empty-cell akan diabaikan
border-spacing Mengatur jarak antar border yang berdampingan. Nilai berupa angka dengan satuan CSS, di mana
jika terdiri dari 2 nilai, nilai pertama digunakan untuk spacing horizontal dan nilai kedua untuk spacing
vertikal.
empty-cells Mengatur apakah border dan background akan ditampilkan pada sel kosong. Nilai:
show → default, menampilkan border dan background pada sel kosong
hide → tidak menampilkan border dan background pada sel kosong
By Megawati
[email protected]
Template Design: Expression Web Tutorials & Templates
Created: March 2013; Updated May 2017