2011-11-06 12 views
6

Sembra che in un momento sia possibile combinare più pseudo-selettori. Ad esempio, si potrebbe fare questo:Combinazione di più pseudo-selettori

a:visited:hover {color: red}

Una rapida ricerca su Google rivela molteplici esempi di questo in azione, here, here e here. Non riesco a far funzionare questa funzione nelle ultime versioni di Safari, Firefox o Chrome. Qualcuno può spiegare perché questa funzione è stata regredita e/o stata handicappata?

risposta

11

La pseudoclass :visited non può più essere utilizzata per la maggior parte dello stile in molti browser moderni perché è un buco di sicurezza. Vedi this link per una discussione più formale su di esso.

La versione breve è che se è possibile lo stile :visited link in modo diverso, è possibile utilizzare tale per determinare se le persone hanno visitato i vari siti, e quindi indirizzare loro in base alla loro cronologia del browser. La maggior parte dei browser moderni limita quindi fortemente lo stile che può essere fatto su di essi.

È ancora possibile collegare pseudoselector. Ad esempio, a:focus:hover funziona bene per applicare gli stili solo se l'elemento è focalizzato E in bilico. Vedi this link per una dimostrazione.

+1

Non penso che sia possibile utilizzare più selettori di pseudo. La tua demo non funziona per me. – corysimmons

+0

Funziona bene (in Chrome, almeno); fai clic nell'area demo, premi scheda per mettere a fuoco il collegamento, quindi passa il mouse su di esso per visualizzarlo in grassetto. –