Pada pembahasan kali ini, kita akan menjelasakan tentang pseudo-class pada CSS. Apa itu pseudo-class dan bagaimana penerapannya pada CSS? Simaklah penjelasan berikut ini.
Section Artikel
- 1 Apa itu Pseudo-class?
- 2 Syntax
- 3 Anchor Pseudo-class
- 4 Pseudo-classes dan Class CSS
- 5 Hover pada elemen <div>
- 6 Tooltip Hover
- 7 Pseudo-class :first-child pada CSS
- 8 Mencocokkan elemen <p> pertama
- 9 Cocokkan elemen <i> pertama pada semua elemen <p>
- 10 Mencocokan semua elemen <i> dengan seluruh ketururnan pertama elemen <p>
- 11 Pseudo-class:lang pada CSS
- 12 Seluruh Pseudo Class pada CSS
- 13 Seluruh Elemen Pseudo CSS
Apa itu Pseudo-class?
Pseudo-class di CSS digunakan untuk mendefinisikan keadaan khusus dari suatu elemen.
Misalnya, pseudo-class dapat digunakan untuk:
- Memberikan style sebuah elemen saat pengguna mengarahkan mouse ke atas elemen.
- Memberikan style berbeda pada link yang telah dikunjungi dan belum dikunjungi.
- Memberikan style pada sebuah elemen saat elemen memiliki elemen focus
Syntax
Sintaks dari pseudo-class dapat didefinisiskan seperti dibawah ini:
selector:pseudo-class { property: value; }
Anchor Pseudo-class
Sebuah link dapat ditampilkan dengan berbagai cara yang berbeda. Agar lebih mudah dipahami, lihatlah pada contoh dibawah ini.
Contoh :
<!DOCTYPE html> <html> <head> <style> /* unvisited link */ a:link { color: red; } /* visited link */ a:visited { color: green; } /* mouse over link */ a:hover { color: hotpink; } /* selected link */ a:active { color: blue; } </style> </head> <body> <p><b><a href="default.asp" target="_blank">Ini sebuah link</a></b></p> <p><b>catatan:</b> a: hover HARUS muncul setelah a: link dan a: visited dalam definisi CSS agar efektif.</p> <p><b>Catatan:</b> a: active HARUS muncul setelah a: hover dalam definisi CSS agar efektif.</p> </body> </html>
Catatan: a: hover HARUS muncul setelah a: link dan a: visited dalam definisi CSS agar efektif, lalu a: active HARUS muncul setelah a: hover dalam definisi CSS agar efektif. Penamaan pseudo-class tidak peka huruf besar kecil (tidak case sensitive).
Pseudo-classes dan Class CSS
Pseudo-class dapat digabungkan dengan class CSS. Untuk memahami bagaimana cara penggunaan keduanya, lihat pada contoh dibawah ini.
Pada contoh dibawah ini ketika kursor diarahkan pada link , maka link tersebut akan berubah warna:
Contoh ;
<!DOCTYPE html> <html> <head> <style> a.highlight:hover { color: #ff0000; } </style> </head> <body> <p><a class="highlight" href="css_syntax.asp">Sintak CSS</a></p> <p><a href="default.asp">Tutorial CSS</a></p> </body> </html>
Hover pada elemen <div>
Contoh penggunaan pseudo-class: hover pada elemen <div>:
<!DOCTYPE html> <html> <head> <style> div { background-color: green; color: white; padding: 25px; text-align: center; } div:hover { background-color: blue; } </style> </head> <body> <p>Arahkan mouse ke elemen div di bawah ini untuk mengubah warna background:</p> <div>Arahkan mouse padaku</div> </body> </html>
Tooltip Hover
Arahkan kursor pada elemen <div> untuk menampilkan elemen <p> (seperti tooltip).
Contoh :
<!DOCTYPE html> <html> <head> <style> p { display: none; background-color: yellow; padding: 20px; } div:hover p { display: block; } </style> </head> <body> <div>Arahkan kursor ke saya untuk menunjukkan elemen p <p>Tada! Aku disini!</p> </div> </body> </html>
Pseudo-class :first-child pada CSS
Pseudo-class: first-child bekerja dengan cara mencocokkan elemen tertentu yang merupakan turunan pertama dari elemen lain.
Mencocokkan elemen <p> pertama
Dalam contoh berikut, selector akan mencocokkan setiap elemen <p> yang merupakan turunan pertama dari setiap elemen :
Contoh :
<!DOCTYPE html> <html> <head> <style> p:first-child { color: blue; } </style> </head> <body> <p>Ini adalah teks.</p> <p>Ini adalah teks</p> <p><b>Catatan:</b> Agar first-child bekerja di IE8 dan sebelumnya, DOCTYPE harus dideklarasikan.</p> </body> </html>
Cocokkan elemen <i> pertama pada semua elemen <p>
Dalam contoh berikut, selector akan mencocokan elemen <i> pertama dengan semua elemen <p>:
<!DOCTYPE html> <html> <head> <style> p i:first-child { color: blue; } </style> </head> <body> <p>Aku<i> Orang</i> yang kuat. Aku <i>orang</i> yang kuat</p> <p>Aku<i> orang</i> yang kuat. aku <i>orang</i> yang kuat</p> <p><b>Catatan:</b> Agar first-child bekerja di IE8 dan sebelumnya, DOCTYPE harus dideklarasikan.</p> </body> </html>
Mencocokan semua elemen <i> dengan seluruh ketururnan pertama elemen <p>
Dalam contoh berikut, selector mencocokan semua elemen <i> dengan seluruh keturunan pertama elemen <p>.
Contoh :
<!DOCTYPE html> <html> <head> <style> p:first-child i { color: blue; } </style> </head> <body> <p>Aku<i> orang</i> yang Kuat. Aku <i>orang</i>yang kuat.</p> <p>Aku<i> orang</i> yang kuat. aku <i>orang</i> yang kuat</p> <p><b>Catatan:</b> Agar first-child bekerja di IE8 dan sebelumnya, DOCTYPE harus dideklarasikan.</p> </body> </html>
Pseudo-class:lang pada CSS
Pseudo-class: lang memungkinkan kita dalam menentukan aturan khusus pada berbagai bahasa.
Pada contoh di bawah ini pseudo-class: lang mendefinisikan tanda kutip untuk elemen <q> dengan lang = “no”
.
Contoh :
<!DOCTYPE html> <html> <head> <style> q:lang(no) { quotes: "~" "~"; } </style> </head> <body> <p>Beberapa teks <q lang="no">Kutipan dalam paragraf</q> sejumlah teks.</p> <p>Dalam contoh ini :lang mendefinisikan tanda kutip untuk elemen q dengan lang = "no":</p> <p><b>Catatan:</b> IE8 mendukung pseudo-class:lang hanya jika DOCTYPE ditentukan.</p> </body> </html>
Seluruh Pseudo Class pada CSS
Selector | Contoh | Deskripsi Contoh |
:active | a:active | Memilih link aktif |
:checked | input:checked | Memilih setiap elemen <input> yang dicentang |
:disabled | input:disabled | Memilih setiap elemen <input> yang dinonaktifkan |
:empty | p:empty | Memilih setiap elemen yang tidak memiliki turunan |
:enabled | input:enabled | Memilih setiap elemen <p> yang diaktifkan |
:first-child | p:first-child | Memilih setiap elemen <p> yang merupakan anak pertama dari induknya |
:first-of-type | p:first-of-type | Memilih setiap elemen <p> yang merupakan elemen <p> pertama dari induknya |
:focus | input:focus | Memilih elemen yang memiliki elemen focus |
:hover | a:hover | Memilih link di atas mouse |
:in-range | input:in-range | Memilih elemen <input> dengan nilai dalam rentang yang ditentukan |
:invalid | input:invalid | Memilih semua elemen <input> dengan nilai yang tidak valid |
:lang(language) | p:lang(it) | Memilih setiap elemen <p> dengan nilai atribut lang yang diawali dengan “it” |
:last-child | p::last-child | Memilih setiap elemen <p> yang merupakan turunan terakhir dari induknya |
:last-of-type | p:last-of-type | Memilih setiap elemen <p> yang merupakan elemen <p> terakhir dari induknya |
:link | a:link | Memilih semua link yang belum dikunjungi |
:not(selector) | :not(p) | Memilih setiap elemen yang bukan merupakan elemen <p> |
:nth-child(n) | p:nth-child(2) | Memilih setiap elemen <p> yang merupakan anak kedua dari induknya |
:nth-last-child(n) | p:nth-last-child(2) | Memilih setiap elemen <p> yang merupakan anak kedua dari induknya, dihitung dari anak terakhir |
:nth-last-of-type(n) | p:nth-last-of-type(2) | Memilih setiap elemen <p> yang merupakan elemen <p> kedua dari induknya, dihitung dari turunan terakhir |
:nth-of-type(n) | p:nth-of-type(2) | Memilih setiap elemen <p> yang merupakan elemen <p> kedua dari induknya |
:only-of-type | p:only-of-type | Memilih setiap <p> elemen yang merupakan satu-satunya elemen <p> dari induknya |
:only-child | p:only-child | Memilih setiap elemen <p> yang merupakan anak tunggal dari induknya |
:optional | input:optional | Memilih elemen <input> tanpa atribut “optional” |
:out-of-range | input:out-of-range | Memilih elemen <input> dengan nilai di luar rentang yang ditentukan |
:read-only | input:read-only | Memilih elemen <input> dengan atribut “readonly” yang ditentukan |
:read-write | input:read-write | Memilih elemen <input> tanpa atribut “readonly” |
:required | input:required | Memilih elemen <input> dengan atribut “required” yang ditentukan |
:root | root | Memilih elemen root dokumen |
:target | #news:target | Memilih elemen active #news saat ini (diklik pada URL yang berisi nama anchor itu) |
:valid | input:valid | Memilih semua elemen <input>dengan nilai yang valid |
:visited | a:visited | Memilih semua link yang telah dikunjungi |
Seluruh Elemen Pseudo CSS
Selector | Contoh | Contoh Deskripsi |
::after | p::after | Menyisipkan konten setelah semua elemen <p> |
::before | p::before | Menyisipkan konten sebelum semua elemen <p> |
::first-letter | p::first-letter | Memilih huruf pertama dari setiap elemen <p> |
::first-line | p::first-line | Memilih baris pertama dari setiap elemen <p> |
::selection | p::selection | Memilih bagian elemen yang dipilih oleh pengguna |
Sekian pembahasan tentang pseudo-class pada CSS, semoga bermanfaat.