2015-12-05 80 views
-1

我的問題很少,但我非常困惑,哪裏出問題了。我不能在我的按鈕上設置背景顏色:focus如何設置:在按鈕上對焦背景顏色

我的CSS

span {background: #000; display:inline-block; padding: 13px 1% 7px; text-align: center; width: 50px; cursor:pointer} 
label {background: #fff; display: inline-block; height: 3px; margin: 0 0 5px; vertical-align: middle; width: 100%; cursor:pointer} 
span:hover label{background:red;} 
span:active label{background:green;} 
span:focus label{background:#0ff;} 

和我的HTML

<span id="open"> 
<label></label> 
<label></label> 
<label></label> 
</span> 

請告訴我在哪裏去錯了。

+0

檢查此琴:http://jsfiddle.net/anmol1976/rxb9ubxr/ –

+0

焦點顏色已經存在。你究竟想要什麼? – ketan

+0

將鼠標懸停在此按鈕上,您會看到按鈕變爲紅色,並且處於活動狀態時,顏色變爲綠色,但我想要當我單擊按鈕時,然後按鈕更改固定的背景顏色,如藍色不是白色,紅色或綠色 –

回答

1

將一個tabindex屬性添加到您的範圍。

<span id="open" tabindex="0"> 

這將允許它是可以聚焦的。然後,您可以通過單擊或切換來設置焦點。你的CSS沒有問題 - 它的工作原理是這樣。見http://jsfiddle.net/rxb9ubxr/1/

因爲您最後指定了focus規則,所以一旦元素獲得焦點,將永遠不會應用active規則。即使元素具有焦點(換句話說,要在點擊過程中更改顏色),也允許應用active規則,但要顛倒activefocus規則的順序。

span:hover label {background: red;} 
span:focus label {background: #0ff;} 
span:active label {background: green;} 
+0

好的,這很好,我檢查你給定的鏈接,但在這個鏈接按鈕不顯示活動的顏色是綠色的。 –

+0

@AnmolRatanMohla因爲活動和焦點行爲相同,所以你不能同時獲得這兩個事件。 –

+0

好的,我明白你說什麼感謝苛刻。 –