Saya memiliki CSS yang mengubah pemformatan saat Anda mengarahkan kursor ke suatu elemen.
HTML:
<div class="test"> blah </div>
CSS:
.test:hover { border: 1px solid red; }
Dalam beberapa kasus saya tidak ingin menerapkan CSS di hover. Salah satu caranya adalah dengan hanya menghapus kelas CSS dari div menggunakan jQuery tapi itu akan merusak hal-hal lain karena saya juga menggunakan kelas itu untuk memformat elemen turunannya.
Jadi itu membuat saya bertanya: Apakah ada cara untuk menghapus styling 'hover' css dari suatu elemen?
Gunakan
:not
pseudo-class untuk mengecualikan kelas yang tidak Anda inginkan melayang ke:BIOLA
Ini melakukan apa yang Anda inginkan dalam satu aturan css!
sumber
:hover
. Ini mungkin karena saya menggunakan SASS, tidak yakin.touchDevice
kelas kebody
dan mengubah aturan css saya untuk sesuatu sepertibody:not(.touchDevice) .button:hover { ... }
tambahkan kelas .css baru:
dan
Aturan css yang lebih "spesifik" menang, sehingga batas ini: versi 0 akan menimpa yang umum yang ditentukan di tempat lain.
sumber
Saya juga punya masalah ini, solusi saya adalah memiliki elemen di atas elemen yang saya tidak ingin efek hover pada:
sumber
Anda ingin mempertahankan pemilih, jadi menambahkan / menghapusnya tidak akan berhasil. Alih-alih menulis pemilih CSS yang keras dan cepat (atau dua), mungkin Anda bisa menggunakan pemilih asli untuk menerapkan aturan CSS baru ke elemen tersebut berdasarkan beberapa kriteria:
sumber