我有一個按鈕,其風格爲各種狀態。尤其是按(:hover:active
)和集中(:focus
)。檢測:懸停:活動:焦點狀態
但是,如果該按鈕被集中並按下,它會在Google Chrome/Safari中變爲:hover
,或在Firefox中變爲:hover:active
。按預期方式去:hover:active:focus
。
HTML測試用例:
<button>Test</button>
CSS:
button{background:#000000;color:#FFFFFF;border:1px solid #000000;padding:10px}
button:hover{background:#FF0000;color:#000000}
button:active{background:#00FF00}
button:hover:active{background:#FFFF00}
button:focus{background:#0000FF}
button:hover:focus{background:#FF00FF}
button:active:focus{background:#00FFFF}
button:hover:active:focus{background:#FFFFFF}
這裏,它是一個簡單的測試小提琴:http://jsfiddle.net/CtKs8/。請注意,在使用鍵盤聚焦按鈕(使其變爲藍色)後,按下它會使其在Chrome中變爲紅色,或在Firefox中變爲黃色(而不是白色)。
我的問題是:如何檢測按下的焦點元素(如:hover:active:focus
),或者至少讓Chrome能夠像Firefox那樣使用:active:hover
狀態?
對,對不起。我沒有注意到,我們正在處理'button',而不是'a'。 – matewka
你有沒有試過:重點:懸停?我遇到了類似的問題,並且能夠使用僞選擇器的組合在Chrome上解決它。 – lightstrike
@lightstrike其實這個問題似乎已經在Chrome中修復了,因爲我問了這個問題。 – Dave