2013-05-23 9 views
59

Ich habe festgestellt, dass Schaltflächen und andere Elemente eine Standard-Styling haben und verhalten sich in 3 Schritten: Normalansicht, Hover/Fokus-Ansicht und Mausklick/Mausklick, in CSS kann ich das Design der Normalansicht ändern und Hover Ansicht wie folgt:Was ist der Maus-Auswahlschalter in CSS?

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

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

aber wie kann ich den mousedown auswählen? Ich möchte etwas wie folgt aus:

button:mousedown{ 
    //some styling 
} 

dank

+1

Sieht aus wie ein Duplikat http://stackoverflow.com/questions/2725458/css-on-mouse-down – Xavier

+0

@ x4vier: Ich glaube nicht. Andererseits ist es schwer zu sagen, was in diesem Fall mit "Maus nach unten" gemeint ist. – BoltClock

Antwort

97

Ich denke, meinen Sie den aktiven Zustand

button:active{ 
    //some styling 
} 

Dies sind alle möglichen Pseudo-Staaten ein Link in CSS haben:

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 */ 

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

+9

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

+0

Ich möchte nicht für Links, ich brauche für Schaltflächen, vor allem, weil in mobilen Geräten Hover macht einen hässlichen Fehler. Danke – multimediaxp

+0

Fügen Sie in diesem Fall hinzu, ich würde den Knopf vollständiger gestalten. Durch Hinzufügen eines Rahmens: 0; Sie verlieren die Blende um den Knopf und das Problem, das Sie haben. – jansmolders86

15

Pro-Tip Hinweis: aus irgendeinem Grund muss CSS-Syntax der :active Snippet nach die :hover für das gleiche Element, um wirksam zu sein

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

+1

CSS wird ausgewertet, damit dies sinnvoll ist; Ein Element kann nicht ': aktiv' werden, bevor es ': schweben' ist. – InTheZone

+1

Außerdem muss ': active' hinter': focus' stehen, damit es funktioniert. Danke, dass du darauf hingewiesen hast. Ich habe mir wirklich den Kopf darüber zerbrochen, warum mein CSS keine Wirkung hat! – Michael

6

Ich fand heraus, dass dieses Verhalten wie ein mousedown- Ereignis:

button:active:hover {} 
+1

Ihr Beispiel funktionierte für mich auf Firefox. – Abbas

+1

das hat bei mir funktioniert! Dies sollte die ausgewählte Antwort sein. – AussieJoe