Bagaimana cara menerapkan efek hover pada a
elemen, tetapi tidak pada a
elemen dengan kelas active
?
a:hover(not: .active)
Sepertinya ada sesuatu yang hilang.
Bagaimana cara menerapkan efek hover pada a
elemen, tetapi tidak pada a
elemen dengan kelas active
?
a:hover(not: .active)
Sepertinya ada sesuatu yang hilang.
Jawaban:
Notasi fungsional aktif :not()
, bukan :hover
:
a:not(.active):hover
Jika Anda lebih suka mengutamakan :hover
, tidak apa-apa:
a:hover:not(.active)
Tidak masalah kelas semu mana yang lebih dulu atau terakhir; apa pun itu, pemilih bekerja sama. Itu hanya kebetulan menjadi konvensi pribadi saya untuk diletakkan :hover
terakhir karena saya cenderung menempatkan pseudo-class interaksi pengguna di belakang pseudo-class struktural.
Anda memiliki opsi untuk menggunakan not()
selektor.
a:not(.active):hover { ... }
Namun, ini mungkin tidak berfungsi di semua browser, karena tidak semua browser menerapkan fitur CSS3.
Jika Anda menargetkan audiens dalam jumlah besar dan ingin mendukung browser lama, cara terbaik adalah dengan menentukan gaya untuk .active:hover
dan membatalkan apa pun yang Anda lakukan a:hover
.
not()
msdn.microsoft.com/en-us/library/… . Mungkin melihat jawaban oleh @Mendhak jika Anda melakukannya.