CSS memiliki jenis selector yang bervariasi, bahkan sangat beragam tergantung kebutuhan kita untuk mendesain halaman web. Dalam tutorial mengenal dasar selector CSS ini saya akan membahas 5 jenis selector dasar di dalam CSS. Selector CSS tidak hanya 5 jenis ini, namun dalam kebanyakan kasus sudah mencukupi untuk membuat sebuah halaman web HTML+CSS.
Selector adalah sebuah pola (pattern) yang digunakan untuk 'mencari' suatu tag di dalam HTML. Analogi untuk selector, misalnya: mencari semua tag p, atau mencari seluruh tag h1 yang memiliki atribut class=judul.
CSS memiliki banyak selector, kita akan membahasnya satu persatu:
Universal Selector
Universal selector hanya ada 1 di dalam CSS, yaitu tanda bintang "*". Selector ini bertujuan untuk 'mencari' semua tag yang ada.
Contoh Universal Selector CSS:
* { color: blue; background-color: white; }
Kode CSS diatas bermaksud untuk membuat seluruh tag HTML berwarna biru, dan background berwarna putih.
Element Type Selector
Element Type Selector atau Tag Selector adalah istilah untuk selector yang nilainya merupakan tag HTML itu sendiri. Setiap tag HTML bisa digunakan sebagai selector, dan seluruh tag tersebut akan ditangkap oleh selector ini.
Contoh Element Type Selector CSS:
h1 { text-decoration: underline; Â Â } p { font-size:14px; }
Contoh kode CSS diatas akan membuat semua tag <h1> akan bergaris bawah, dan seluruh tag <p> akan berukuran 14pixel.
Efek dari element type selector adalah dari awal tag, sampai akhir tag. Jika didalam tag <p> terdapat tag <i>, maka tag tersebut juga akan berukuran 14 pixel, sampai ditemui tag penutup </p>.
Class Selector
Class Selector merupakan salah satu selector yang paling umum dan paling sering digunakan. Class Selector akan 'mencari' seluruh tag yang memiliki atribut class dengan nilai yang sesuai.
Untuk penggunaan Class Selector, kita harus memiliki tag HTML yang mempunyai atribut class. Contohnya:
<p class="paragraf_pertama"> Ini adalah sebuah paragraf pertama</p> <h1 class="judul">Judul Artikel</h1> <h2 class="judul penting berwarna">Sub Judul Artikel<h2>
Perhatikan bahwa untuk semua tag diatas, kita menambahkan atribut class dengan nilainya adalah nama dari kelas itu sendiri. Sebuah nama class dapat dimiliki oleh lebih dari 1 tag, dan dalam sebuah tag dapat memiliki lebih dari 1 class.
Contohnya dalam baris terakhir pada contoh diatas,tag h2 memiliki atribut class="judul penting berwarna". Tag ini teridiri dari 3 class, yaitu judul, penting, dan class berwarna.
Sedangkan untuk kode CSS Class Selector adalah sebagai berikut:
.paragraf_pertama { color: red; } .judul { font-size:20px; }
.penting { color:red; font-size: 1em; }
Untuk menggunakan class selector, di dalam CSS kita menggunakan tanda titik sebelum nama dari class.
Untuk contoh kita, seluruh class yang memiliki nilai "paragraf_pertama", warna text akan menjadi merah. Dan seluruh class judul akan memiliki font 20 pixel.
ID Selector
ID Selector bersama-sama dengan class selector merupakan selector paling umum dan juga sering dipakai (walau tidak sesering class selector). Penggunaan ID selector hampir sama dengan class selector, dengan perbedaan jika pada Class Selector kita menggunakan atribut class untuk tag HTML, untuk ID selector, kita menggunakan atribut id.
Contoh penggunaan atribut id pada tag HTML
<p id="paragraf_pembuka"> Ini adalah sebuah paragraf pembuka</p> <h1 id="judul_utama">Judul Artikel</h1> <h2 id="sub_judul">Sub Judul Artikel<h2>
Atribut id selain untuk selector CSS, juga berperan sebagai kode unik untuk masing-masing tag (terutama dipakai untuk kode JavaScript). Karena hal tersebut, id yang digunakan harus unik dan tidak boleh sama. Dengan kata lain, id hanya bisa digunakan satu kali dalam sebuah halaman web dan tidak boleh sama.
Contoh penggunaan id selector kode CSS Class Selector adalah sebagai berikut:
#paragraf_ pembuka { color: red; } #judul utama { font-size:20px }
Di dalam kode CSS, kita menggunakan tanda pagar "#" sebagai penanda bahwa kita mencari tag yang memiliki id tersebut.
Attribute Selector
Selector dasar terakhir kita adalah attribute selector. Selector ini sedikit lebih advanced dibandingkan dengan selector-selector sebelumnya. Atribut Selector ini digunakan untuk mencari seluruh tag yang memiliki atribut yang dituliskan.
Contoh penggunaan Attribute Selector kode CSS adalah sebagai berikut:
[href] { font-size:20px ; } [type="submit"] { width:30px; }
Seperti yang dapat dilihat dari contoh diatas, setiap atribut selector harus berada diantara tanda kurung siku "[" dan "]".
[href] akan cocok dengan seluruh tag yang memiliki atribut href, apapun nilai dari href (href biasanya terdapat pada tag <a>). Untuk contoh [type="submit"] akan cocok dengan tag yang memiliki atribut type dengan nilai submit, yang dalam hal ini adalah tombol submit dalam form.
Walaupun memiliki kemampuan mencari tag yang sangat spesifik, namun atribut selector ini tidak terlalu sering digunakan.
Selain kelima selector dasar diatas, CSS masih memiliki selector yang lebih 'jauh' dalam memilih tag yang akan dimanipulasi, salah satu contohnya, seperti pseudo selector yang digunakan untuk tiap event dari link, atau dikenal dengan efek mouseover, yaitu kita mencari kondisi pada saat mouse berada di atas tag tertentu. Pseudo Selector ini akan kita bahas pada lain kesempatan.
Itulah 5 selector dasar dalam CSS, yang selain berdiri sendiri, dapat juga digabungkan dengan selector lainnya untuk keperluan yang lebih khusus. Penggabungan selector ini akan kita bahas pada tutorial selanjutnya Cara Penggunaan Selector CSS.
gan mw nanya?
bukankah id dan class jg termasuk kedalam atribut? jd kita bisa menggunkan selector atribut untuk mencari class dan id?
sry newbie
Benar gan. Attribute selector bisa dibilang sebagai selector yang lebih umum daripada id dan class selector. Karena kita bisa mengakses sebuah element berdasarkan atributnya (dimana id dan class juga termasuk kedalam atribut)
ilmu yang sangat bermanfaat utkku.. makasih ya..
gan mohon pencerahanya dong….
kapan saatnya pake Class Selector dan kapan saatnya pake ID Selector???atau bebas bebas aja???hehe bingung nih, di contoh yg agan kasih mirip soalnya…
<p class="paragraf_pertama"> Ini adalah sebuah paragraf pertama</p>
<p id="paragraf_pembuka"> Ini adalah sebuah paragraf pembuka</p>
Yup benar gan, bebas aja mau pakai yang mana saja, tergantung keperluan :)
Namun dari beberapa referensi, banyak yang menyarankan pakai class selector apabila dimungkinkan. Ini karena ID selector 'sangat kuat' dan mudah menimpa efek selector lain (konsep cascade di dalam CSS).
Tapi apakah boleh memakai kedua duanya gan?
Boleh2 saja, tergantung kebutuhan..
trimakasih ilmux mas
apa ada video tutorialnya??
Saat ini duniailkom belum buat video tutorial gan. Untuk penjelasan lebih jauh ada di eBook CSS Uncover :)
gan untk mensetting supaya kita bisa menaruh teks diatas gambar gmana?, saya punya kasus teks selalu tertutp gambar, mohon pencerahanya
Itu untuk blog yang sudah jadi y? harus dipelajari dulu penyebabnya gan.. bisa jadi dari gambar atau malah teksnya.
Ini biasanya diatasi dengan menambahkan property margin CSS. Tp ya itu tadi, mesti dicari dulu apa yang menyebabkannya. Untuk theme atau template blog, biasanya ada aturan khusus mengenai ukuran gambar. Atau bisa juga kontak si pembuat template untuk solusi yang lebih pasti.
Gan mau nanya selain <p class="paragraf_pertama"> ada lagi ga selain paragraf contohnya <br class="paragraf_pertama"> sorry masih noob :v
Atribut class ini bisa bebas, suka-suka mau buat pakai nama apa dan bisa ditempatkan ke tag apapun. Contoh lain bisa <div class="a">, <img ="b">, <table class="c">. Nanti tinggal kita buat kode CSS untuk setiap class ini.
gan contoh yang ini
.penting {
color:red;
font-size: 1em;
}
itu "em" gunanya sama kaya "px"? sorry masi newbie nih mau belajar bikin web hehehe
Betul, itu satuan nilai dalam CSS. Lengkapnya nanti dibahas disini: https://www.duniailkom.com/tutorial-belajar-css-mengenal-satuan-nilai-value-dalam-css/
penjelasan untuk selector css di atas adakah untuk menulis di halaman ya om?
saya mencoba cara yang sama untuk edit css header weblog tidak berhasil.
header weblog saya tidak ada selector h1 atau h2, saya ingin mengubah ukuran judul header bagaimana om?
Kalau pengen dipakai untuk web yang sudah jadi (seperti blogspot), memang ada kemungkinan tidak berhasil. Karena blogspot sudah punya kode CSS bawaan yang bisa jadi akan menimpa kode CSS yang kita tulis.
Selain itu harus dipelajari juga struktur HTML yang ada untuk menentukan selector yang harus dipakai. Misal, jika tidak ada tag h1 atau h2, maka harus dianalisis dulu judul artikelnya pakai tag apa, kemudian sesuaikan selectornya.
Apa boleh min, 5 jenis selector diatas bisa digabung semua dalam satu halaman web html?
Terima kasih min atas jawabannya…
G masalah, untuk web yang sebenarnya, bisa saja terdapat ratusan selector di satu halaman