Wednesday, September 7, 2011

Lebih Lanjut Tentang Selector

Dalam CSS, terdapat cascade yang merupakan metode untuk mengatur style supaya tidak terjadi konflik. Untuk lebih jelasnya perhatikan contoh berikut ini.

<title>CSS Guide</title>
<style type="text/css">

p {
color: red;
}

em {
color: green;
}
</style>

<h1> Ini adalah heading 1</h1>
Ini adalah paragraf.Ini adalah paragraf. Ini adalah paragraf.Ini adalah paragraf. Ini adalah paragraf. Ini adalah paragraf. Ini adalah paragraf. Ini adalah paragraf. <i>Ini adalah huruf dicetak miring </i>. Ini adalah paragraf. Ini adalah paragraf.Ini adalah paragraf. Ini adalah paragraf.
<h1><em>Ini adalah heading 1</em></h1> Ini adalah paragraf. Ini adalah paragraf. Ini adalah paragraf. Ini adalah paragraf. Ini adalah paragraf. Ini adalah paragraf. Ini adalah paragraf. Ini adalah paragraf. <em>Ini adalah huruf dicetak miring</em>. Ini adalah paragraf. Ini adalah paragraf. Ini adalah paragraf. Ini adalah paragraf.

</body>
</html>

Pada code di atas terdapat style untuk mengatur tampilan elemen paragraf (<p>) dan untuk emphasize atau <i> (cetak miring seperti halnya italic). Perhatikan apa yang terjadi dengan tampilannya di browser




Dengan Anda mendeklarasikan style warna hijau untuk elemen <em>, maka style tersebut akan berlaku untuk setiap elemen tersebut (termasuk pada bagian heading). Tentu saja hal ini membuat tampilan halaman web tidak bagus, karena style heading menjadi tidak konsisten (terdapat heading yang berwarna hijau). Lantas.. bagaimana cara mengatur style supaya warna hijau hanya berlaku untuk emphasize yang terletak di dalam paragraf saja? Untuk itu Anda harus mengubah deklarasi stylenya menjadi seperti berikut

<style type="text/css">
p {
color: red;
}
p em {
color: green;
}
</style>

Maksud dari code yang bercetak merah tersebut adalah bahwa style warna hijau diterapkan pada elemen emphasize <em> yang berada di dalam elemen paragraf <p>.

Hasil tampilan setelah menggunakan style yang telah dimodifikasi tersebut adalah:


Selector Dengan Class dan Nama ID

Class dapat digunakan untuk mengelompokkan beberapa elemen supaya memiliki style sama. Secara umum sintaks style untuk class tertentu adalah sbb:

.namaKelas {
properti1 : value1;
properti2 : value2;

}
Contoh:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>CSS Guide</title>

<style type="text/css">
.inputText {
color: #FFFFFF; 
font-family: arial;
background: #FF0000; /* membuat background merah */
font-weight: bold;  /* membuat text bold */
}

</style>
</head>
<body>
<form name="form1">
Nama Anda <br />



<input type="text" name="alamat" class="inputText" /><br /><br /> Alamat Anda <br />
<textarea class="inputText"></textarea><br /><br />
<input type="submit" name="submit" value="Submit" /> </form>
</body>
</html>

Hasilnya adalah sebagai berikut:



Style juga dapat digunakan untuk mengatur tampilan elemen dengan id tertentu. Berikut ini adalah contohnya:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>CSS Guide</title>

<style type="text/css">

p {

color: #FFFFFF; /* membuat warna text putih */
font-family: arial;
background: #FF0000; /* membuat background merah */
font-weight: bold;
}
p.group {
color: #FF0000; /* membuat warna text putih */
font-family: arial;
background: #FFFFFF; /* membuat background putih */

}

p#one {
color: blue;
font-family: "times new roman";
}

</style>

</head>
<body>
<p>Ini adalah paragraf 1. Ini adalah paragraf 1. Ini adalah paragraf 1. Ini adalah paragraf 1. Ini adalah paragraf 1. </p> <p class="group">Ini adalah paragraf 2. Ini adalah paragraf 2. Ini adalah paragraf 2. Ini adalah paragraf 2. Ini adalah paragraf 2. </p> <p class="group" id="one">Ini adalah paragraf 3. Ini adalah paragraf 3.

Ini adalah paragraf 3. Ini adalah paragraf
</p>
</body>
</html>

Perhatikan hasil tampilan dari code di atas berikut ini:




Pada tampilan di atas, tampak bahwa perintah

p {

}
digunakan untuk mengatur style pada elemen <p>. Sedangkan perintah

p.group {


}
digunakan untuk mengatur style hanya pada <p> yang memiliki class bernama group dan perintah

p#one {


}

berfungsi untuk mengatur style pada <p> yang memiliki id bernama one. Meskipun pada contoh ini, terdapat elemen <p class="group" id="one">, namun style pada elemen ini mengikuti p#one, bukannya p.group karena nama id lebih diprioritaskan daripada class.

Lantas bagaimana dengan tampilan dengan style berikut ini

<style type="text/css">

p {
color: black;
}
p.group {
color: red;
}
.group {
color: blue;
}
#group {
color: green;
}

</style>


yang diterapkan pada tag berikut?

<p>Ini adalah paragraf 1. Ini adalah paragraf 1. Ini adalah paragraf 1.Ini adalah paragraf 1. Ini adalah paragraf 1. </p>
<p class="group">Ini adalah paragraf 2. Ini adalah paragraf 2. Ini adalah paragraf 2. Ini adalah paragraf 2. Ini adalah paragraf 2. </p>
<div class="group">Ini adalah paragraf 3. Ini adalah paragraf 3. Ini adalah paragraf 3. Ini adalah paragraf 3. Ini adalah paragraf 3. </div>

<div id="group">Ini adalah paragraf 4. Ini adalah paragraf 4. Ini adalah paragraf 4. Ini adalah paragraf 4.Ini adalah paragraf 4. </div>

Apabila Anda dapat menjawab pertanyaan di atas, maka Anda sudah menguasai dasardasar CSS awal ini khususnya pada masalah selector. Menurut analisis saya, untuk paragraf pertama akan memiliki warna hitam, paragraf ke dua berwarna merah, paragraf ke tiga akan berwarna biru dan paragraf ke empat akan berwarna hijau. Mari kita lihat hasil tampilannya:


Berikut ini penjelasannya:
Style berikut akan diterapkan pada elemen <p>

p {
color: black;
}
Sedangkan style berikut hanya akan diterapkan pada elemen <p> yang memiliki class
bernama group.

p.group {
color: red;
}

Selanjutnya untuk style berikut ini akan diterapkan pada elemen yang memiliki class
bernama group.
.group {
color: blue;
}
Perhatikan tampilan gambar di atas, bahwa untuk <p class="group"> tidak akan terpengaruh karena elemen tersebut sudah memiliki style sendiri yaitu p.group. Apabila style p.group tidak ada, maka elemen <p class="group"> akan terpengaruh style .group (text akan menjadi merah) Suatu style juga dapat ditulis sebagai berikut
#group {
color: green;
}

Style tersebut hanya akan mengatur tampilan pada elemen yang memiliki id bernama
group.

1 comment: