CSS dan Tata Letak Pemrograman Internet (TKE 074082) Program Studi Teknik Elektro, Unsoed Iwan Setiawan <stwn at unsoed.ac.id> Tahun Ajaran 2011/2012 a, a:visited { text-decoration:none; } a:hover { text-decoration:underline; } Pemrograman Internet (TKE 074082) ­ Program Studi Teknik Elektro, Unsoed p:first-letter { font-weight: bold; font-size:150%; } Pemrograman Internet (TKE 074082) ­ Program Studi Teknik Elektro, Unsoed ol { counter-reset: item X; display: block; } ol li { display: block; } ol li:before { content: counter(item, decimal) ". "; counter-increment: item -1; } Pemrograman Internet (TKE 074082) ­ Program Studi Teknik Elektro, Unsoed Berapa cara pendefinisian CSS? selector. Pemrograman Internet (TKE 074082) ­ Program Studi Teknik Elektro, Unsoed elemen/tag, id (#), class (.) Pemrograman Internet (TKE 074082) ­ Program Studi Teknik Elektro, Unsoed Membagi Halaman Web (untuk tata letak yang lebih baik) Memberikan gaya pada setiap elemen, atau kelompok elemen, bagian teks atau halaman tertentu. Pemrograman Internet (TKE 074082) ­ Program Studi Teknik Elektro, Unsoed Tata letak yang lebih kompleks. Pemrograman Internet (TKE 074082) ­ Program Studi Teknik Elektro, Unsoed Contoh CSS .special1 { background­color: yellow; font­weight: bold; } .special2 { color: red; font­family: cursive; } Pemrograman Internet (TKE 074082) ­ Program Studi Teknik Elektro, Unsoed Bagian-Bagian Halaman: <div> ✔ Sebuah bagian dari sebuah halaman web (blok). <div class=”special1”> <p class=”special2”>Ini kalimat istimewa!</p> </div> ✔ Tag atau elemen div digunakan untuk membuat bagian­bagian dalam sebuah halaman. ✔ Tidak terlihat atau tertampil secara default, tetapi kita dapat membuat gaya padanya. Pemrograman Internet (TKE 074082) ­ Program Studi Teknik Elektro, Unsoed Bagian Inline: <span> ✔ Sebuah elemen inline untuk menerapkan gaya pada rentang teks tertentu. <h2>Selamat Datang!</h2> <p>Selamat melihat <span class="special1">produk</span> kami.</p> <p>Sila membandingkannya dengan yang <span class="special2">lain</span>!</p> ✔ Seperti div, span tidak terlihat atau tertampil secara default, tetapi kita dapat membuat gaya padanya yang akan diterapkan pada teks di dalam tag span. Pemrograman Internet (TKE 074082) ­ Program Studi Teknik Elektro, Unsoed Context Selector CSS selector1 selector2 { properti } ✔ Menerapkan properti pada selector2 jika selector2 berada di dalam selector1. selector1 > selector2 { properti } ✔ Menerapkan properti pada selector2, jika selector2 langsung berada di dalam selector1 tanpa ada tag lain yang mendahuluinya. Pemrograman Internet (TKE 074082) ­ Program Studi Teknik Elektro, Unsoed Contoh Context Selector (1) HTML <p>Berbelanjalah di <strong>Toko kami</strong>...</p> <ul> <li>Tersedia <strong>barang elektronik</strong>!</li> <li>atau barang­barang lainnya!</li> </ul> CSS li strong { text­decoration: underline; } Pemrograman Internet (TKE 074082) ­ Program Studi Teknik Elektro, Unsoed Contoh Context Selector (2) HTML <div id="ad"> <p>Berbelanjalah di <strong>Toko kami</strong>...</p> <ul> <li class="important">Tersedia <strong>barang elektronik</strong>!</li> <li>atau <strong>barang yang lainnya!</strong></li> </ul> </div> CSS #ad li.important strong { text­decoration: underline; } Pemrograman Internet (TKE 074082) ­ Program Studi Teknik Elektro, Unsoed Model Boks CSS ✔ Untuk tujuan tata letak, setiap elemen disusun: isi elemen (content) batas elemen (border) jarak isi dan batas elemen (padding) jarak batas elemen dan isi lain (margin) ✔ Lebar = lebar content + padding kanan/kiri + border kanan/kiri + margin kanan/kiri ✔ Tinggi = tinggi content + padding atas/bawah + border atas/bawah + margin atas/bawah Pemrograman Internet (TKE 074082) ­ Program Studi Teknik Elektro, Unsoed IE6? Pemrograman Internet (TKE 074082) ­ Program Studi Teknik Elektro, Unsoed Alur Dokumen Elemen Blok Pemrograman Internet (TKE 074082) ­ Program Studi Teknik Elektro, Unsoed Elemen Blok dan Inline Pemrograman Internet (TKE 074082) ­ Program Studi Teknik Elektro, Unsoed Properti CSS untuk border (1) h2 { border: 5px solid red; } Properti Penjelasan border ketebalan, gaya, ukuran, pada 4 sisi ✔ Ketebalan: px, pt, em atau thin, medium, thick ✔ style: none, hidden, dotted, dashed, double, groove, inset, outset, ridge, solid ✔ color: seperti teks dan latar belakang Pemrograman Internet (TKE 074082) ­ Program Studi Teknik Elektro, Unsoed Properti CSS untuk border (2) Properti Penjelasan border-color, border-width, border-style Properti spesifik semua sisinya border-bottom, border-left, border-right, border-top Semua properti sesuai dengan sisinya border-bottom-color, border-bottom-style, border-bottom-width, border-left-color, ... Properti border sesuai sisinya Lihat http://w3schools.com/css/css_reference.asp#border Pemrograman Internet (TKE 074082) ­ Program Studi Teknik Elektro, Unsoed Contoh border h2 { border­left: thick dotted #CC0088; border­bottom­color: rgb(0, 128, 128); border­bottom­style: double; } ✔ Properti border setiap sisi dapat diset. ✔ Jika kita menghapus sebuah properti maka properti tersebut akan diset ke default. Pemrograman Internet (TKE 074082) ­ Program Studi Teknik Elektro, Unsoed Properti CSS untuk padding Properti Penjelasan padding Padding 4 buah sisi padding-top Padding sisi atas padding-right Padding sisi kanan padding-bottom Padding sisi bawah padding-left Padding sisi kiri Lihat http://w3schools.com/css/css_reference.asp#padding Pemrograman Internet (TKE 074082) ­ Program Studi Teknik Elektro, Unsoed Contoh padding p { padding: 20px; border: 3px solid black; } h2 { padding: 0px; background­color: yellow; } p { padding­left: 200px; padding­top: 30px; background­color: fuchsia; } ✔ Padding setiap sisi dapat diset masing­masingnya. ✔ Warna latar belakang padding mengikuti elemen. Pemrograman Internet (TKE 074082) ­ Program Studi Teknik Elektro, Unsoed Properti CSS untuk margin Properti Penjelasan margin margin 4 buah sisi margin-top margin sisi atas margin-right margin sisi kanan margin-bottom margin sisi bawah margin-left margin sisi kiri Lihat http://w3schools.com/css/css_reference.asp#margin Pemrograman Internet (TKE 074082) ­ Program Studi Teknik Elektro, Unsoed Contoh margin p { margin: 50px; background­color: fuchsia; } p { margin­left: 8em; background­color: fuchsia; } ✔ Margin selalu transparan, tidak berisi latar belakang elemen, dst. ✔ Setiap sisi margin dapat diset masing­masing. Pemrograman Internet (TKE 074082) ­ Program Studi Teknik Elektro, Unsoed Properti CSS untuk Dimensi p { width: 350px; background­color: yellow; } h2 { width: 50%; background­color: aqua; } Properti Penjelasan width, height Seberapa lebar dan tinggi sebuah elemen (blok) max-width, max-height, min-width, min-height Ukuran maksimal dan minimal elemen Pemrograman Internet (TKE 074082) ­ Program Studi Teknik Elektro, Unsoed auto margin p { margin­left: auto; margin­right: auto; width: 750px; } ✔ Jika width tidak diset maka akan mengambil semua lebar halaman ✔ Untuk elemen inline dalam elemen blok gunakan text­align: center; Pemrograman Internet (TKE 074082) ­ Program Studi Teknik Elektro, Unsoed Elemen Floating Properti CSS untuk float Properti Penjelasan float Memposisikan elemen di sisi tertentu. Nilainya: left, right, none (default.) ✔ Elemen yang diset float akan dihilangkan dari alur dokumen normal ✔ Teks di sekitar elemen float akan “menyesuaikan diri” posisinya. Pemrograman Internet (TKE 074082) ­ Program Studi Teknik Elektro, Unsoed Contoh float HTML <img src="images/baturraden.png" alt="Baturraden" class="imageheader" /> Baturraden adalah sebuah lokawisata yang terletak di lereng Gunung Slamet. CSS img.imageheader { float: left; } Pemrograman Internet (TKE 074082) ­ Program Studi Teknik Elektro, Unsoed float vs. alignment Pemrograman Internet (TKE 074082) ­ Program Studi Teknik Elektro, Unsoed Elemen yang diset float seharusnya mempunyai nilai properti width. Pemrograman Internet (TKE 074082) ­ Program Studi Teknik Elektro, Unsoed Contoh clear p { background­color: fuchsia; } h2 { clear: right; background­color: yellow; } Properti clear digunakan agar elemen float tidak menutupi elemen yang diset clear. Nilai: left, right, none. Pemrograman Internet (TKE 074082) ­ Program Studi Teknik Elektro, Unsoed div#sidebar { float: right; } p { clear: right; } Pemrograman Internet (TKE 074082) ­ Program Studi Teknik Elektro, Unsoed Terkadang elemen isi terlalu sedikit sehingga ketika digabungkan dengan elemen float, hasilnya tidak sesuai dengan keinginan. Pemrograman Internet (TKE 074082) ­ Program Studi Teknik Elektro, Unsoed HTML <p><img src="images/baturraden.png" alt="Baturraden" />Baturraden adalah sebuah lokawisata yang terletak di lereng Gunung Slamet</p> CSS p { border: 2px dashed black; } img { float: right; } Pemrograman Internet (TKE 074082) ­ Program Studi Teknik Elektro, Unsoed Dibutuhkan properti overflow. Pemrograman Internet (TKE 074082) ­ Program Studi Teknik Elektro, Unsoed HTML <p><img src="images/baturraden.png" alt="Baturraden" />Baturraden adalah sebuah lokawisata yang terletak di lereng Gunung Slamet</p> CSS p { border: 2px dashed black; overflow: hidden} img { float: right; } Properti overflow menentukan apa yang akan dilakukan jika isi elemen terlalu besar. Nilai: auto, visible, hidden, atau scroll. Pemrograman Internet (TKE 074082) ­ Program Studi Teknik Elektro, Unsoed Tata Letak dengan Kolom Banyak HTML <div> <p>paragraf pertama</p> <p>paragraf kedua</p> <p>paragraf ketiga</p> Teks lain yang bermanfaat. </div> CSS p { float: right; width: 20%; margin: 0.5em; border: 2px solid black; } div { border: 3px dotted green; overflow: hidden; } Pemrograman Internet (TKE 074082) ­ Program Studi Teknik Elektro, Unsoed Ukuran dan Posisi Properti position div#ad { position: fixed; right: 10%; top: 45%; } Properti Nilai Penjelasan position static Posisi default relative Posisi relatif terhadap posisi normal absolute Posisi tetap terhadap elemen isi fixed Posisi tetap terhadap jendela peramban top, right, bottom, left Posisi pojok kotak Pemrograman Internet (TKE 074082) ­ Program Studi Teknik Elektro, Unsoed Posisi absolute #menubar { position: absolute; left: 400px; top: 50px; } ✔ Dihilangkan dari alur dokumen, seperti float. ✔ Posisi relatif terhadap elemen blok yang melingkupinya, dengan asumsi elemen blok tersebut menggunakan posisi absolute atau relative pula. ✔ Posisi sebenarnya ditentukan dengan top, bottom, left, right. ✔ Sertakan pula nilai properti width. Pemrograman Internet (TKE 074082) ­ Program Studi Teknik Elektro, Unsoed Posisi relative #area2 { position: relative; } ✔ Elemen absolute diposisikan normal terhadap offset pojok pada semua halaman web. ✔ Untuk menghindari elemen absolute memposisikan dirinya sendiri relatif terhadap pojok elemen, masukkan elemen absolute di dalam elemen yang mempunyai properti relative. Pemrograman Internet (TKE 074082) ­ Program Studi Teknik Elektro, Unsoed Posisi fixed ✔ Dihilangkan dari alur dokumen normal. ✔ Posisi relatif terhadap jendela peramban, bahkan ketika pengguna menggulung jendela, elemen akan berada pada posisi semula. Pemrograman Internet (TKE 074082) ­ Program Studi Teknik Elektro, Unsoed alignment vs. float vs. position Pemrograman Internet (TKE 074082) ­ Program Studi Teknik Elektro, Unsoed alignment Jika memungkinkan, letakkan elemen dengan mensejajarkan isinya. Horisontal: text­align, pada elemen blok, mensejajarkan isi saja. Vertikal: vertical­align, pada elemen inline, mensejajarkan secara vertikal dalam isi elemen. Pemrograman Internet (TKE 074082) ­ Program Studi Teknik Elektro, Unsoed Jika pensejajaran tak berhasil, float elemen. Pemrograman Internet (TKE 074082) ­ Program Studi Teknik Elektro, Unsoed Jika float tak berhasil, gunakan position. (tidak perlu banyak menggunakan position absolute/fixed) Pemrograman Internet (TKE 074082) ­ Program Studi Teknik Elektro, Unsoed Properti vertical-align Properti Penjelasan vertical-align Menentukan di mana elemen inline disejajarkan secara vertikal dengan melihat isi lain pada baris yang sama di dalam kotak elemen boksnya. ✔ Nilai: top, middle, bottom, baseline (default), sub, super, text­top, text­bottom, atau nilai panjang atau % ✔ Baseline berarti sejajar dengan bagian bawah huruf yang tidak menggantung. Pemrograman Internet (TKE 074082) ­ Program Studi Teknik Elektro, Unsoed <p style="background­color: red; padding: 0px; margin: 0px"> <img src="images/smiley.png" alt="smile" /> </p> Pemrograman Internet (TKE 074082) ­ Program Studi Teknik Elektro, Unsoed Kotak Inline Lebih Rinci ✔ Properti ukuran (width, height, min­width, dst.) diabaikan untuk kotak inline. ✔ Properti margin­top dan margin­bottom diabaikan, tetapi tidak untuk margin­left dan margin­right. ✔ Properti text­align mengendalikan posisi horisontal kotak inline di dalamnya, tetapi tidak untuk kotak (elemen) blok di dalam halaman web. ✔ Setiap properti vertical­align mensejajarkan secara vertikal dalam kotak bloknya. Pemrograman Internet (TKE 074082) ­ Program Studi Teknik Elektro, Unsoed Properti display h2 { display: inline; background­color: yellow; } ✔ Nilai: none, inline, block, run­in, compact, ... ✔ Gunakan secara bijak karena dapat mengubah tata letak halaman. Properti Penjelasan display Set tipe model boks CSS yang ingin ditampilkan untuk sebuah elemen Pemrograman Internet (TKE 074082) ­ Program Studi Teknik Elektro, Unsoed HTML <ul id="topmenu"> <li>Item 1</li> <li>Item 2</li> <li>Item 3</li> </ul> CSS #topmenu li { display: inline; border: 2px solid gray; margin­right: 1em; } Pemrograman Internet (TKE 074082) ­ Program Studi Teknik Elektro, Unsoed Properti visibility p.secret { visibility: hidden; } ✔ Elemen yang disembunyikan akan tetap mengambil ruang pada layar. ✔ Dapat digunakan untuk menampilkan atau tidak isi HTML secara dinamis yang berhubungan dengan respon sebuah permintaan. Properti Penjelasan visibility Set apakah sebuah elemen akan ditampilkan ke layar. Nilai: visible, hidden, none Pemrograman Internet (TKE 074082) ­ Program Studi Teknik Elektro, Unsoed Daftar Bacaan ● ● ● Stepp, M., Miller, J. 2010. Page Sections and the CSS Box Model, presentasi Web Programming Step by Step Stepp, M., Miller, J. 2010, Floating Layouts, presentasi Web Programming Step by Step Stepp, M., Miller, J. 2010, Positioning, presentasi Web Programming Step by Step Pemrograman Internet (TKE 074082) ­ Program Studi Teknik Elektro, Unsoed