Ieri mi sono imbattuto in questo: uno dei miei stati :hover
ha smesso di funzionare. Ho scoperto che se cambio questo:Qualcuno può spiegare perché il selettore "nth-child" ha una priorità più alta di "hover"?
div.item {}
div.item:hover {}
div.item:nth-child(even) {}
a questo:
div.item {}
div.item:nth-child(even) {}
div.item:hover {}
funziona di nuovo.
Ho creato un demo on jsfiddle per mostrare entrambi i casi.
Qualcuno può spiegare perché lo stato :hover
viene sovrascritto dal selettore?
+1 Grazie, esattamente quello che stavo cercando. Ho pensato che ci sia ancora una sorta di gerarchia all'interno delle pseudo-classi. – insertusernamehere
@insertusernamehere: No, l'unica pseudo-classe che è esente dal solito calcolo è ': not()', che invece assume la specificità del suo argomento. Questo significa che la specificità di ': not (E)' è 'E', piuttosto che': not() '. – BoltClock
@BoltClock Ah, quindi c'è almeno un'eccezione. Grazie per questa informazione aggiuntiva. – insertusernamehere