2011-03-18 39 views
9

說你,或者我,已編碼的HTML元素...遊標屬性應該在帶或不帶:hover僞類的規則中設置?

<a id='hydrogen' href='#'>H</a> 

......以及一些:hover CSS ...

#hydrogen:hover { 
    background:red; 
} 

...現在我們要把一個當盤旋時花式手形光標。有兩種可選方式:

適用於無狀態的元素:

#hydrogen { 
    cursor:pointer; 
} 

,或者適用於:懸停狀態。

#hydrogen:hover { 
    color:red; 
    cursor:pointer; 
} 

我的問題:是否有任何理由(一個或多個)爲什麼一個方式是果斷優於其他?

...還是番茄,番茄?

回答

8

兼容性:IE6及以下版本僅識別a元素上的:hover僞類。

3

他們都是一樣的,只要你總是想要pointer那裏,無條件徘徊。

:hover僞類will inherit cursor: pointer from its non hovered state

我寧願把它放在正常的選擇器上,而不是:hover

+0

非懸停狀態不是由缺少':hover'僞類表示的,而是由':not(:hover)'顯式表示的。這就是爲什麼這個問題稱之爲「無狀態」,也是爲什麼風格會被應用。 – BoltClock 2015-01-22 15:22:04

0

兩種方式同樣好。不過,如果元素不是錨點,我會將其放在id本身上,因爲:hover在ie6或更低版本上不起作用。如果你不關心IE的老版本。那麼兩種方式都是正確的。