2013-05-23 15 views
59

Ho notato che i pulsanti e gli altri elementi hanno uno stile predefinito e si comportano in 3 passaggi: vista normale, visualizzazione hover/focus e mouse/clic, in CSS Posso cambiare lo stile della visualizzazione normale e della visualizzazione del passaggio del mouse in questo modo:Qual è il selettore del mouse in CSS?

button{ 
    background:#333; 
    color:#FFF; 
} 

button:hover{ 
    background:#000; 
    color:#EEE; 
} 

ma come posso selezionare il mouse? Voglio qualcosa di simile:

button:mousedown{ 
    //some styling 
} 

grazie

+1

Sembra un duplicato di http://stackoverflow.com/questions/2725458/css-on-mouse-down – Xavier

+0

@ x4vier: io non la penso così. Inoltre, in questo caso è difficile dire cosa si intende per "mouse down". – BoltClock

risposta

97

Credo che si intende lo stato attivo

button:active{ 
    //some styling 
} 

Queste sono tutte le possibili pseudo stati un link può avere nei CSS:

a:link {color:#FF0000;} /* unvisited link, same as regular 'a' */ 
a:hover {color:#FF00FF;} /* mouse over link */ 
a:focus {color:#0000FF;} /* link has focus */ 
a:active {color:#0000FF;} /* selected link */ 
a:visited {color:#00FF00;} /* visited link */ 

Vedere anche: http://www.w3.org/TR/selectors/#the-user-action-pseudo-classes-hover-act

+9

http://www.w3fools.com/ – Nix

+0

Non voglio collegamenti, ho bisogno di pulsanti, specialmente perché nei dispositivi mobili il passaggio del mouse fa un brutto problema. Grazie – multimediaxp

+0

Aggiungi in tal caso vorrei stilizzare il pulsante più pienamente. Aggiungendo un bordo: 0; perdi la ghiera attorno al pulsante e il problema che stai riscontrando. – jansmolders86

15

Pro-punta Nota: per qualche ragione, la sintassi CSS ha bisogno del :active snippet dopo la :hover per lo stesso elemento al fine di essere efficace

http://www.w3schools.com/cssref/sel_active.asp

+1

I CSS sono valutati in ordine, quindi ha senso; un elemento non può diventare ': active' prima che sia': hover'. – InTheZone

+1

Inoltre, ': active' deve essere dopo': focus' perché funzioni. Grazie per avermelo fatto notare, stavo davvero grattando la testa sul motivo per cui il mio CSS non aveva alcun effetto! – Michael

6

ho capito che questo comporta come un evento a sorpresa:

button:active:hover {} 
+1

Il tuo esempio ha funzionato per me su Firefox. – Abbas

+1

questo ha funzionato per me! Questa dovrebbe essere la risposta selezionata. – AussieJoe

Problemi correlati