sollte es nicht sein: .reMode_hover:not(‘.reMode_s selected’):hover Meiner Erfahrung nach sind diese Anführungszeichen notwendig.
– Makan Tayebi
16. Dezember 14 um 7:57 Uhr
@MakanTayebi Sie sprechen einen hervorragenden Punkt in Bezug auf Anführungszeichen rund um den Selektor an. TL;DR: Es ist in der Tat am besten, sie zu verwenden. Ausführliche Erklärung unter stackoverflow.com/a/5578880/1772379 .
– Ben Johnson
21. November 17 um 19:18 Uhr
Ist das immer noch so? Ich habe dies nicht in anderen Browsern ausprobiert, aber in der neuesten Version von Firefox, in der ich arbeite, die :not Auswahl funktionierte nur, wenn ich ENTFERNT Die Zitate.
Das Problem mit Ihrem Code ist, dass Sie die auswählen .remode_hover das ist ein Nachfahre von .remode_selected. Der erste Schritt, damit Ihr Code richtig funktioniert, besteht also darin, dieses Leerzeichen zu entfernen
.reMode_selected.reMode_hover:hover
Damit der Stil dann nicht funktioniert, müssen Sie den von gesetzten Stil überschreiben :hover. Mit anderen Worten, Sie müssen dem entgegenwirken background-color Eigentum. Der endgültige Code wird also sein
Eine alternative Methode wäre zu verwenden :not(), wie von anderen angegeben. Dadurch wird jedes Element zurückgegeben, das nicht die Klasse oder Eigenschaft hat, die in der Klammer angegeben ist. In diesem Fall würden Sie setzen .remode_selected da drin. Dies zielt auf alle Elemente ab, die keine Klasse von haben .remode_selected
Ich würde diese Methode jedoch nicht empfehlen, da sie in CSS3 eingeführt wurde und die Browserunterstützung daher nicht ideal ist.
Methode 3
Eine dritte Methode wäre die Verwendung von jQuery. Sie können die zielen .not() Selektor, was der Verwendung ähnlich wäre :not() in CSS, aber mit viel besserer Browserunterstützung