2017-05-30 1 views
0

Ich schaute auf W3 Schulen Website W3Schools, die Styling-Schaltflächen mit CSS erklärt. Ich muss einen Button-Stil angeben, wenn darauf geklickt wird. Was ist der Pseudo-Klassenselektor dafür? z.B. die Hoverschaltfläche ist:So stylen Sie eine angeklickte Schaltfläche in CSS

.button:hover{ 
} 
+6

w3schools ist ** nicht ** Das W3C – j08691

+2

Werfen Sie einen Blick auf [': focus'] (https://developer.mozilla.org/en/docs/Web/CSS/:focus). – PeterMader

+0

: Der Fokus entspricht nicht dem Klicken, Sie können den Fokus nach dem Klick haben – Vivick

Antwort

2

Diese Schaltfläche gelb erscheint zunächst für andere Elemente arbeiten. Beim Schweben wird es orange. Wenn Sie darauf klicken, wird es rot. Ich habe verwendet: Hover und: Fokus, um den Stil anzupassen. (Der aktive Selektor wird normalerweise für Links verwendet<a> Tags))

button{ 
 
    background-color:yellow; 
 
} 
 

 
button:hover{background-color:orange;} 
 

 
button:focus{background-color:red;} 
 

 
a { 
 
    color: orange; 
 
} 
 

 
a.button{ 
 
    color:green; 
 
    text-decoration: none; 
 
} 
 

 
a:visited { 
 
    color: purple; 
 
} 
 

 
a:active { 
 
    color: blue; 
 
}
<button> 
 
Hover and Click! 
 
</button> 
 
<br><br> 
 

 
<a href="#">Hello</a><br><br> 
 
<a class="button" href="#">Bye</a>

2

Wenn Sie die Taste nur wollen verschiedene Styling haben, während die Maus Sie die :active Pseudo-Klasse verwenden können, gedrückt wird.

Wenn Sie andererseits möchten, dass der Stil nach dem Klicken bleibt, müssen Sie Javascript verwenden

0

versuchen, diese

button:focus{ 
 
    background-color:red; 
 
}
<button>click me</button>

0

Taste: Hover nur, wenn Sie den Mauszeiger über die Schaltfläche bewegen.
Versuchen Taste: aktiv statt ... wird auch

button:active{ 
 
    color: red; 
 
}

-1

Leider gibt es keine: Pseudo-Selektor klicken. Wenn Sie das Aussehen beim Klicken ändern möchten, sollten Sie Jquery/Javascript verwenden. Es ist sicherlich besser als der "Hack" für reines HTML/CSS. Aber wenn Sie darauf bestehen ...

input { 
 
display: none; 
 
} 
 
span { 
 
padding: 20px; 
 
font-family: sans-serif; 
 
} 
 
input:checked + span { 
 
    background: #444; 
 
    color: #fff; 
 
}
<label for="input"> 
 
    <input id="input" type="radio" /> 
 
    <span>NO JS styling</span> 
 
    </label>

Oder, wenn Sie möchten, können Sie das Styling wechseln:

input { 
 
display: none; 
 
} 
 
span { 
 
padding: 20px; 
 
font-family: sans-serif; 
 
} 
 
input:checked + span { 
 
    background: #444; 
 
    color: #fff; 
 
}
<label for="input"> 
 
    <input id="input" type="checkbox" /> 
 
    <span>NO JS styling</span> 
 
    </label>

+0

Warum Checkbox und Radio Typen? keine Knöpfe in meinem Kopf. –

+0

@Mark Schultheiss Du verstehst nicht, wenn du die Code-Schnipsel liebst, würdest du es vielleicht tun. Die Kontrollkästchen sind ausgeblendet, aber Sie können den Vorteil des: checked pseudo selectors nutzen, dessen Eingabe Sie benötigen. Wie ich in der Post erwähnt habe, ist dies ein "Hack". Es gibt jedoch keine anderen reinen CSS/HTML-Alternativen. – Chesswithsean

Verwandte Themen