Di pelajaran 1 kamu menulis h1 { color: red; }, artinya semua h1. Tapi sering kita ingin sebagian saja: hanya kartu ini, hanya link itu. Di situlah SelectorBagian CSS yang menunjuk elemen mana yang mau didandani, misalnya h1 atau .kartu.Penjelasan lengkap → bekerja: ia memilih elemen mana yang kena aturan.
Dan di sinilah id dan class dari pelajaran HTML 7 akhirnya terpakai.
Tiga selector utama
| Selector | Ditulis | Memilih | Contoh |
|---|---|---|---|
| Tag | li |
semua elemen bertag itu | li { color: blue; } |
| Class | .favorit |
elemen yang punya class="favorit" |
.favorit { background: yellow; } |
| Id | #juara |
satu elemen ber-id="juara" |
#juara { font-weight: bold; } |
Perhatikan tanda di depannya: titik untuk class, pagar # untuk id, tanpa tanda untuk tag.
Dalam HTML, satu elemen boleh punya beberapa class sekaligus, dipisah spasi:
<li class="favorit pedas">Seblak</li>
Dan ClassNama kelompok yang bisa ditempelkan ke banyak elemen, supaya semuanya didandani sama oleh CSS.Penjelasan lengkap → boleh dipakai berkali-kali, sedangkan id harus unik: satu halaman, satu pemilik.
Coba sendiri
Daftar makanan di bawah belum didandani. Ikuti tiga tantangan, urut dari yang paling umum ke yang paling spesifik.
Tag, class, dan id
<!DOCTYPE html>
<html lang="id">
<head>
<meta charset="UTF-8">
<title>Selector</title>
<style>
/* Tantangan 1: semua li warnanya biru (selector tag) */
/* Tantangan 2: yang punya class="favorit" dikasih latar kuning (#fff3a3) (selector class) */
/* Tantangan 3: yang punya id="juara" dikasih huruf tebal (selector id) */
</style>
</head>
<body>
<h2>Makanan favorit</h2>
<ul>
<li>Nasi goreng</li>
<li class="favorit">Bakso</li>
<li class="favorit">Mie ayam</li>
<li id="juara" class="favorit">Sate</li>
</ul>
</body>
</html>
Hasilnya:
Console
Perhatikan: Sate punya class favorit dan id juara, jadi kena aturan dari tiga selector sekaligus. Wajar, itu tidak bertabrakan karena masing-masing mengatur properti yang berbeda.
Kalau dua aturan bertabrakan
Bagaimana kalau dua aturan mengatur properti yang sama?
li { color: blue; }
.favorit { color: red; }
Aturan yang menang adalah yang lebih spesifik. Urutannya dari lemah ke kuat: tag, lalu class, lalu id. Jadi <li class="favorit"> tampil merah. Kalau kekuatannya sama, yang ditulis belakangan menang.
Dua trik berguna
Satu aturan untuk beberapa selector, pisah dengan koma:
h1, h2, h3 {
color: #0a66c2;
}
Memilih elemen di dalam elemen lain, pisah dengan spasi:
.kartu p {
margin: 0;
}
Artinya: hanya p yang berada di dalam elemen ber-class kartu. Pola ini dipakai di CV-mu nanti.
Yang barusan kamu pelajari
- Selector menentukan elemen mana yang kena aturan.
taguntuk semua tag itu,.namauntuk class,#namauntuk id.- Dua aturan bertabrakan: yang lebih spesifik menang (id lebih kuat dari class, class lebih kuat dari tag); kalau sama, yang di bawah menang.
h1, h2 {...}= beberapa selector sekaligus;.kartu p {...}= p di dalam .kartu.