Bagian 3 - CSS BOX MODEL
A. Apa itu CSS Box Model ?
Cascading Style Sheet (CSS) merupakan aturan untuk mengendalikan beberapa komponen dalam sebuah web sehingga akan lebih terstruktur dan seragam. CSS bukan merupakan bahasa pemograman.
Sama halnya styles dalam aplikasi word processing seperti Microsoft Word yang dapat mengatur beberapa style, misalnya heading, sub-bab, bodytext, footer, images, dan style lainnya untuk dapat digunakan bersama-sama dalam beberapa berkas (file). Pada umumnya CSS dipakai untuk memformat tampilan halaman web yang dibuat dengan bahasa HTML dan XHTML.
CSS dapat mengatur ukuran gambar, warna bagian tubuh pada teks, warna tabel, ukuran border, warna border, warna hyperlink, warna mouse over, spasi antar paragraf, spasi antar teks, margin kiri, kanan, atas, bawah, dan parameter lainnya. CSS adalah bahasa style sheet yang digunakan untuk mengatur tampilan dokumen. Dengan adanya CSS memungkinkan kita untuk menampilkan halaman yang sama dengan format yang berbeda.
Sumber dan informasi selengkapnya, bisa ditemukan di :
http://www.w3.org
http://id.wikipedia.org/wiki/Cascading_Style_Sheets
B.Sintaks CSS
Sintaks Dasar pada CSS
Sintaks pada CSS terdiri dari dua bagian, yakni bagian Selector dan bagian Declaration. Di dalam Declaration terdapat sebuah Property dan Value. Ilustrasinya bisa dilihat pada gambar di bawah ini :
Selector adalah bagian pada HTML yang akan menjadi target dari pemformatan oleh CSS, umumnya adalah berupa elemen HTML. Sedangkan Declaration adalah bagian dari sintaks CSS yang berisi format-format (styles) yang dinyatakan dengan Property dan Value. Sebuah baris kode CSS bisa terdapat satu atau banyak Declaration.
Aturan penulisannya :
Selector ditulis pada bagian awal baris kode CSS Declaration ditulis antara tanda “{“…. “}”
Penulisan Property dan Value pada Declaration dibatasi dengan tanda “:”
3 FREE TO SHARE Contoh
Berikut adalah contoh penulisan baris kode CSS : p {color:blue;text-align:center;} Atau, agar mudah dibaca bisa ditulis sebagai berikut :
p {
color:blue;
text-align:center; }
Penjelasan
Dari contoh di atas, bisa dijelaskan sebagai berikut :
Selector yang digunakan adalah “p”, yakni sebuah tag HTML yang digunakan untuk mendefinisikan sebuah paragraf.
Declaration pada contoh diatas dinyatakan dengan “color:blue;" dan “
text-align:center;”
Maka baris CSS tersebut akan menjadikan elemen paragraph (p) dalam dokumen HTML sebagai target pemformatan. Dalam hal ini, konten dalam elemen “p” akan diformat
dengan warna biru dan perataan teksnya adalah center.
Bentuk Komentar pada CSS (CSS Comments)
Komentar (comment) digunakan untuk memberikan penjelasan pada baris kode CSS yang kita buat, dan akan sangat berguna ketika kita akan mengedit baris kode tersebut di kemudian hari. Baris kode yang dinyatakan sebagai komentar, tidak akan ditampilkan pada browser.
Komentar pada CSS dimulai dengan tanda “/*” dan diakhiri dengan tanda “*/”, contoh : /* ini adalah baris komentar */
p {
color:blue;
text-align:center; }
/* ini adalah baris komentar yang lain */
C.Jenis-Jenis Selector pada CSS
Selector pada sintaks CSS umumnya adalah berupa tag HTML, namun bisa juga berupa atribut ID ataupun CLASS pada elemen HTML yang akan dilakukan pemformatan tampilan (styling).
Selector berupa Tag HTML
Semua tag HTML bisa digunakan sebagai Selector pada CSS, penulisannya adalah dengan menyebutkan nama dari tag tersebut.
Contoh :
body {background:#ff0000;}
h1 {font-size: 36px;color:blue;} p {color:#333333;text-align:justify;}
4 FREE TO SHARE
Selector berupa atribut ID
Selector ID digunakan untuk melakukan pendefinisian style pada element HTML tunggal dan bersifat unique. Selector ID menggunakan atribut ID pada tag HTML, yang kemudian penyebutan
dalam sintaks CSS menggunakan tanda “#” (tanda pagar). Contoh :
File [index.html]
<p>artikel pada paragraf</> <p>artikel pada paragraf</>
<p id=”penting”>artikel pada paragraf</> Style.css P { text-align:justify; color:grey; } #penting { text-align:center; color:red; }
Pemformatan dokumen HTML dengan bentuk CSS tersebut akan menghasilkan tampilan halaman web dimana dua paragraf pertama berwarna abu-abu (grey) dengan alignment
“justify”, sedangkan paragraf ketiga, yang memiliki atribut ID=”penting” akan terformat dengan alignment “center” dan warna teksnya adalah merah (CSS dengan selector “#penting”). Artinya paragraf ketiga, akan berbeda dengan dua paragraf diatasnya yang tidak memiliki atribut ID.
Selector berupa atribut CLASS
Selector CLASS digunakan untuk mendefinisikan pemformatan elemen HTML dengan membaca atribut CLASS pada tag HTML. Berbeda dengan Selector ID yang digunakan untuk pemformatan elemen tunggal, Selector CLASS umumnya digunakan untuk melakukan pemformatan pada satu atau lebih elemen HTML (group of elements). Selector CLASS pada penulisan baris kode CSS
menggunakan tanda “.” (tanda titik).
Contoh :
File [index.html]
<p class="merah">konten pada paragraf ke-1</p> <p class="biru"> konten pada paragraf ke-2</p> <p class="merah"> konten pada paragraf ke-3</p> <p class="biru"> konten pada paragraf ke-4</p> Style.css p{ font-size: 12px; text-alignment:justify; } .merah{ color: red; } .biru{
5 FREE TO SHARE color: blue;
}
Dengan bentuk seperti di atas, maka akan dihasilkan sebuah halaman web sejumlah empat paragraf, dimana tiap paragraf memiliki ukuran huruf sebesar 12px dan alignment teksnya adalah justify (CSS dengan selector “p”).
Dari keempat paragraf tersebut, juga akan dihasilkan tampilan berupa :
Paragraf ke-1 dan ke-3 memiliki warna teks merah (CSS dengan selector “.merah”)
Paragraf ke-2 dan ke-4 memiliki warna teks biru (CSS dengan selector “.biru”)
Namun, perlu diingat bahwa bentuk penulisan CSS seperti di atas (contoh pada Selector Class) akan mengakibatkan semua elemen HTML yang memiliki atribut class=”biru” akan ditampilkan dengan warna biru, dan semua elemen HTML yang memiliki atribut class=”merah” akan ditampilkan dengan warna merah juga, tidak hanya berlaku pada elemen “p”.
Sebagai contoh, apabila dokumen HTML berbentuk seperti di bawah ini : <p class="merah">konten pada paragraf ke-1</p> <p class="biru"> konten pada paragraf ke-2</p> <p class="merah"> konten pada paragraf ke-3</p> <p class="biru"> konten pada paragraf ke-4</p> <div class=”biru”>konten dalam div .... </div>
Maka, apabila penulisan CSS seperti pada contoh di atas, akan menghasilkan tampilan konten pada elemen div juga berwarna biru, karena elemen div memiliki atribut class=”biru”.
Untuk mengindari hal terserbut, atau agar pemformatan pada CSS hanya berlaku pada elemen paragraf, maka penulisan pada CSSnya adalah sebagai berikut :
p{ font-size: 12px; text-alignment:justify; } p.merah{ color: red; } p.biru{ color: blue; }
Selector untuk Elemen Turunan
Dalam dokumen HTML, konten sebuah elemen bisa berupa elemen lainnya. Maka diperlukan cara penulisan tersendiri untuk memilih sebuah elemen HTML yang akan ditetapkan sebagai target pemformatan dengan CSS. Mari kita lihat contoh di bawah ini :
File [index.html]
<h1>Judul dengan <em>bagian penting</em> di dalamnya</h1>
<p>Artikel yang terdapat <em>bagian penting</em> di dalamnya</p>
Apabila kita ingin melakukan pemformatan pada elemen “em” yang berada pada elemen “h1”,
maka penulisan CSSnya adalah sebagai berikut : h1 em { color:red; }
6 FREE TO SHARE Dengan penulisan CSS seperti di atas (menambahkan spasi antar Selector), maka hanya bagian
elemen “em” yang berada di dalam elemen “h1” saja yang akan ditampilkan dengan warna merah, sedangkan elemen “em” diluar elemen “h1” akan tetap tampil mengikuti tampilan default.
Pengelompokan Selector (Grouping)
Declaration pada CSS bisa diterapkan untuk satu jenis atau beberapa jenis elemen sekaligus. Caranya adalah dengan menuliskan beberapa Selector dalam satu baris kode CSS yang
dipisahkan dengan tanda “,” (koma) sebelum penulisan Declaration. Contohnya, pada CSS dinyatakan :
h1, h2, h3, h4{ color:red; }
Maka akan mengasilkan tampilan halaman web dimana konten pada elemen “h1”, “h2”, “h3” dan “h4” memiliki warna yang sama, yakni merah. Demikian juga pemformatan untuk elemen yang lain bisa dilakukan dengan cara yang sama.
D.Mengintegrasikan CSS pada Dokumen HTML
Ada tiga cara untuk menerapkan pemformatan CSS pada dokumen HTML, yakni dengan metode External Style Sheet, Internal Style Sheet dan Inline Style Sheet.
External Style Sheet
Cara pertama disebut dengan External Style Sheet, yaitu dengan cara membuat dokumen CSS yang terpisah, kemudian dibuat tautan dengan tag <link> pada elemen header dalam dokumen HTML yang akan diterapkan pemformatan dengan CSS tersebut.
Sebagai contoh, baris kode CSS dinyatakan sebagai berikut : body {background:lavender;color:#333333;} h1{color:red;}
Disimpan dalam sebuah dokumen berformat style sheet dengan nama : mystyle.css
Maka, untuk menerapkan pemformatan tersebut ke dalam dokumen HTML, digunakan tag <link> yang dituliskan pada elemen head sebagai berikut :
<head>
<title>Contoh penggunaan CSS External</title>
<link rel=”stylesheet” type=”text/css” href=”mystyle.css” /> <head>
Note: Dalam contoh ini, file mystyle.css berada dalam satu folder dengan file HTML-nya.
Dengan cara ini, kita bisa menerapkan pemformatan CSS tersebut ke banyak dokumen HTML, dan cukup menambahkan tautan untuk tiap masing-masing dokumen. Keuntungan lainnya, adalah apabila suatu saat kita ingin mengganti format tampilan halaman web dengan format tampilan yang baru, cukup mengganti tautan tersebut ke file CSS baru yang akan digunakan.
7 FREE TO SHARE
Internal Style Sheet
Cara kedua adalah dengan menggunakan Internal Style Sheet, yakni dengan cara menuliskan baris kode CSS pada elemen head menggunakan tag <style> seperti di bawah ini :
<head> <style> body {background:lavender;color:#333333;} h1{color:red;} </style> <body> ...
Cara ini biasa digunakan untuk melakukan pemformatan pada sebuah halaman web yang akan ditampilkan berbeda dengan halaman web lainnya. Misalnya, apabila kita memiliki lima halaman web yang sudah dihubungkan dengan sebuah file CSS, namun ada satu halaman web yang memiliki format yang sedikit berbeda, maka digunakanlah Internal style sheet.
Inline Style Sheet
Cara ketiga adalah menggunakan Inline Style Sheet, yaitu dengan menggunakan atribut “style”
pada tag-tag HTML yang akan ditambahkan pemformatan CSS. Misal, kita akan membuat tampilan elemen h1 menjadi berwarna merah, maka penulisan elemen h1-nya adalah sebagai berikut :
<h1 style=”color:red” >Ini adalah judul artikel</h1>
Atribut “style” pada tag HTML tersebut, bisa diberikan lebih dari satu property CSS sama halnya dengan menggunakan Internal Style Sheet ataupun External Style Sheet.
8 FREE TO SHARE
Bagian 2 – BASIC ELEMENT STYLING
Pada bagian ini akan dibahas bagaimana cara melakukan pemformatan ( styling ) pada elemen HTML dengan menggunakan baris kode CSS. Terdapat 6 (enam) hal mendasar yang akan dibahas, yakni : Background styling, Text styling, Font styling, List styling, Link styling dan Table styling.
Note : Contoh-contoh penerapan CSS pada bagian ini menggunakan metode External Style Sheet
A.Background Styling
Sebuah elemen HTML bisa diberikan efek latar belakang (background) dengan menggunakan
Property “background” pada CSS. Property ini memiliki beberapa bentuk, yakni :
Background-color
Property “background-color” digunakan untuk mengatur latar belakang sebuah elemen dengan
nilai berupa warna. Sintaks-nya :
background-color: color-value; Keterangan :
Nilai warna (color-value) pada CSS biasanya menggunakan kode warna dalam beberapa varian, yakni Hexadesimal color, RGB color dan Color-name.
Untuk mengetahui kode warna yang bisa digunakan, bisa dilihat dari tabel warna dasar (basic color) di bawah ini.
Basic Color Keywords
Color Color name HEX RGB
black #000000 0,0,0 silver #C0C0C0 192,192,192 gray #808080 128,128,128 white #FFFFFF 255,255,255 maroon #800000 128,0,0 red #FF0000 255,0,0 purple #800080 128,0,128 fuchsia #FF00FF 255,0,255 green #008000 0,128,0 lime #00FF00 0,255,0 olive #808000 128,128,0 yellow #FFFF00 255,255,0 navy #000080 0,0,128 blue #0000FF 0,0,255 teal #008080 0,128,128 aqua #00FFFF 0,255,255
9 FREE TO SHARE Selain warna-warna dasar tersebut, kita juga bisa memilih warna-warna lain yang lebih spesifik dan sesuai dengan kebutuhan desain website kita. Untuk mendapatkan nilai warna yang diinginkan, kita bisa menggunakan aplikasi-aplikasi yang menyediakan fitur color picker, seperti pada aplikasi Adobe Photoshop dan sejenisnya.
Contoh penerapan Property "background” : [ Index.html ]
<body>
<div class="artikel"> <h1>Judul Artikel</h1>
<p>text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text </p> </div> </body> [ Style.CSS ] body { background-color:rgb(153,204,255); } .artikel { background-color: #CC6666; } .artikel h1 { background-color: maroon; }
Dengan bentuk file HTML dan deklarasi CSS seperti contoh diatas, akan dihasilkan sebuah tampilan halaman web seperti gambar berikut :
10 FREE TO SHARE
Background-image
Property “background-image” digunakan untuk menjadikan sebuah file gambar (image) menjadi latar belakang pada sebuah elemen HTML.
Sintaks-nya :
background-image: url(‘url-file-gambar’); Keterangan :
File gambar yang digunakan bisa berupa file *.jpg, *.png ataupun *.gif.
Secara default, gambar yang dijadikan background akan ditampilkan berulang, secara horizontal dan vertikal.
Url file gambar bisa menggunakan relative path ataupun absolute url. Contoh :
Edit Declaration untuk Selector “body” pada file CSS, sehingga menjadi seperti berikut : body {
background-color:rgb(153,204,255); background-image : url(wallpaper.jpg); }
Note : file “wallpaper.jpg” berada dalam folder yang sama dengan file “index.html”, dengan ukuran file 200 x 200 pixel.
Hasilnya akan terlihat seperti gambar berikut :
Background-repeat
Property “background-repeat” digunakan untuk mengatur perulangan (repeatation) pada gambar yang ditampilkan sebagai background dengan Property “background-image”. Perulangan
tampilan gambar tersebut, bisa diatur ke arah horizontal (sumbu x ) ataupun ke arah vertikal (sumbu y).
Sintaks-nya :
11 FREE TO SHARE Keterangan :
Value defaultnya adalah “repeat”, yaitu gambar ditampilkan berulang secara horizontal
dan vertikal.
No-repeat; gambar sebagai background hanya ditampilkan satu kali, tidak ada perulangan.
Repeat-x; gambar ditampilkan berulang secara horizontal (sumbu x). Repeat-y; gambar ditampilkan berulang secara vertikal (sumbu y). Contoh :
Edit Declaration untuk Selector “body” pada file CSS, sehingga menjadi seperti berikut : body {
background-color:rgb(153,204,255);
background-image : url(‘wallpaper.jpg’);
background-repeat : repeat-x;
}
Dengan penulisan CSS seperti di atas, akan menghasilkan tampilan halaman web dengan background berupa file image seperti pada gambar berikut ini :
Background-position
Property “background-position” digunakan untuk mengatur letak atau posisi sebuah file gambar
yang dijadikan sebagai background. Biasanya digunakan apabila pada Property “background
-repeat” bernilai “no-repeat”, “repeat-x” atau “repeat-y”.
Sintaks-nya :
background-position: top | bottom | left | center | right; Keterangan :
Value defaultnya adalah “top left”, sehingga apabila sebuah file gambar dijadikan
background dan diberikan deklarasi “background-repeat: no-repeat”, maka file gambar
akan ditampilkan di posisi kanan-atas.
Property ini bisa diberikan satu value atau lebih, seperti “top”, “bottom”, “center” atau “bottom center”, “top center”.
12 FREE TO SHARE Contoh :
Edit Declaration untuk Selector “body” pada file CSS, sehingga menjadi seperti berikut : body {
background-color:rgb(153,204,255);
background-image : url(‘wallpaper.jpg’);
background-repeat : no-repeat;
background-position : top center;
}
Simpan pekerjaan dan lihat tampilan halaman web pada browser.
Meringkas Penulisan Property Background
Pada contoh-contoh sebelumnya, kita harus menuliskan beberapa Property untuk mengatur tampilan background agar sesuai dengan kebutuhan desain. Namun, kita bisa meringkas penulisan Property tersebut dengan cukup menuliskan value-nya dalam satu baris pada Property
“background”.
Contoh :
Editlah file CSS pada Selector “body” sehingga menjadi sebagai berikut :
body {
background: rgb(153,204,255) url(background.jpg) repeat-y top center;
}
Keterangan : Masing-masing value dibatasi dengan spasi. Hasilnya akan terlibat seperti gambar berikut ini :
13 FREE TO SHARE
B.Text Styling
Konten elemen HTML berupa teks bisa diatur tampilannya dengan melakukan pemformatan pada CSS. Property pada CSS yang digunakan untuk pemformatan teks antara lain : color, text-align, text-decoration, text-indent, dan text-transform.
Color
Property “color” digunakan untuk mengatur tampilan warna konten / teks pada elemen HTML. Sintaks-nya :
color: color-value;
Keterangan :
Color-value bisa menggunakan Hexadecimal, RGB ataupun color name. Contoh :
Masing menggunakan file pada contoh sebelumnya (background styling), editlah Declaration pada bagian Selector “.artikel h1”, sehingga menjadi seperti berikut :
.artikel h1 {
background-color: maroon;
color: #ffffff;
}
Note : ditambahkan property “color”
Hasilnya, konten pada elemen H1 akan berwarna putih (#FFFFFF) seperti terlihat pada gambar di bawah ini :
14 FREE TO SHARE
Text-align
Property “text-align” digunakan untuk mengatur perataan teks secara horizontal (mendatar).
Sintaks-nya :
text-align: left | center | right | justify; Keterangan :
Left : teks ditampilkan dengan rata kiri Center : teks ditampilkan dengan rata tengah Right : teks ditampilkan dengan rata kanan
Justify : teks ditampilkan dengan perataan kanan-kiri
Inherit : format perataanya mengikuti nilai alignment elemen induknya Contoh :
Edit Declaration untuk Selector “.artikel” dan “.artikel h1”, sehingga menjadi seperti berikut :
.artikel { background-color: #CC6666; text-align:justify; } .artikel h1 { background-color:maroon; color:#ffffff; text-align:center; }
Note : masing-masing Selector ditambahkan Property “text-align” dengan nilai yang berbeda.
15 FREE TO SHARE
Text-decoration
Property “text-decoration” digunakan untuk menambah atau membuang ornamen tertentu pada teks.
Sintaks-nya :
text-decoration : none | underline | overline | line-through |
blink;
Property ini biasa digunakan untuk menghilangkan ornamen underline pada hyperlink, atau memberikan efek tertentu untuk bagian-bagian yang dianggap perlu pada sebuah artikel.
Contoh :
Edit file HTML pada contoh sebelumnya sehingga menjadi seperti berikut : <div id="artikel">
<h1>Judul Artikel<sup>Penting</sup></h1>
<p>text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text <br>
<a href="#">Baca Selengkapnya...</a> </p>
</div>
Editlah file CSS dengan menambahkan baris berikut : .artikel h1 sup { color:#FF0; text-decoration:blink; } .artikel p a { color:#ffffff; text-decoration:none; }
Dari struktur dokumen HTML dan pemformatan CSS seperti di atas, akan dihasilkan tampilan halaman web seperti gambar di bawah ini:
16 FREE TO SHARE
Text-indent
Propety “text-indent” digunakan untuk membuat indentasi pada teks, yang akan diterapkan pada baris pertama teks/konten dalam sebuah elemen.
Sintaks-nya :
text-indent: length; Keterangan :
Length : menentukan panjang dari indentasi teks, bisa menggunakan satuan pixel (px), point (pt), Ems (em), centimeter (cm) dan persen (%).
Khusus untuk persen (%), nilai yang didapatkan adalah persentasi dari lebar elemen HTML yang menjadi target.
Contoh :
Edit file CSS dengan menambahkan baris berikut : .artikel p {
text-indent:50px; }
Hasilnya, konten pada elemen P akan diset dengan indentasi sebesar 50pixel seperti terlihat pada gambar di bawah ini :
Text-transform
Property “text-transform” digunakan untuk melakukan transformasi bentuk teks, seperti
menjadikannya capital, lowercase, atau uppercase. Sintaks-nya :
text-transform: none | capitalize | uppercase | lowercase; Keterangan :
None : teks ditampilkan apa adanya, seperti nilai aslinya
17 FREE TO SHARE Uppercase : teks ditampilkan dengan huruf besar seluruhnya
Lowercase : teks ditampilkan dengan huruf kecil seluruhnya Contoh :
Edit Declaration untuk Selector “.artikel h1” dan “.artikel h1 sup”, sehingga menjadi seperti
berikut : .artikel h1 { background-color:maroon; color:#ffffff; text-align:center; text-transform: uppercase; } .artikel h1 sup { color:#FF0; text-decoration:blink; text-transform: lowercase; }
Hasilnya, konten pada Class “artikel” elemen H1 akan diubah menjadi bentuk huruf kapital,
sedangkan pada elemen SUP menjadi huruf kecil. Perhatikan gambar di bawah ini :
C.Font Styling
CSS juga memungkinkan kita untuk melakukan pemformatan pada font, seperti menentukan ukuran font atau memilih jenis font yang akan digunakan. Property pada CSS yang digunakan untuk melakukan pemformatan font antara lain : size, family, style dan font-weight.
Font-size
Property “font-size” digunakan untuk menentukan ukuran dari font (huruf) yang akan ditampilkan. Property ini bisa diterapkan untuk elemen-elemen HTML yang berhubungan dengan pengolahan teks, seperti heading dan paragraf.
18 FREE TO SHARE Namun perlu dicatat bahwa, meskipun kita bisa melakukan pemformatan pada ukuran font, tetapi sangat tidak dianjurkan untuk menggunakan Property ini untuk menjadikan heading terlihat seperti paragraf dengan mengecilkan ukuran font-nya ataupun sebaliknya, menjadikan paragraf seperti heading dengan memperbesar ukuran font-nya. Tetap gunakan Tag Heading