2012-01-04 26 views

回答

7

:hoverpsuedo-class.hover是類hover選擇這些符號(:.)不改變其他任何CSS選擇器建構意義:看W3C CSS Level 3 Recommendation所有的細節。

大概有一些JavaScript可以切換hover類,這可能是因爲在「傳統」瀏覽器中缺少支持LI元素的:hover。我知道,IE5/6(ICK!)只支持:hover的鏈接,但是:

(和以往一樣,確保頁不是在 「怪異模式」 :-)

編碼愉快。

+1

Thx for quirkmode鏈接 – 2012-01-04 05:12:21

5

.hover就是一個類名(可能是用來表示「這是我[編碼器]想看看同一個懸停的項目」,而:hover是僞類,當鼠標移動到它。(個人我用.hl代替.hover類似的東西)

+0

所以我不''必須寫a.hover,a:一起盤旋?它只有:懸停?! – 2012-01-04 05:04:44

+1

這是正確的。 – 2012-01-04 05:05:09

+0

@AlmasAdilbek:這*不一定正確。假設'hover'類是用javascript添加的,並且您希望獲得儘可能多的瀏覽器支持,您仍然需要兩者! ':hover'在舊版瀏覽器中很多元素都不支持,包括'li'。 [pst的答案](http://stackoverflow.com/a/8722199/398242)解釋它。 – 2012-01-04 05:32:01

3

.hover是一個正常的類名,就像任何其他類名一樣,它沒有什麼特別的含義。
:hover是您自己無法創建的僞類,只​​有在用戶使用鼠標懸停在元素上時纔會生效。

2

是:一個班級(即.hover),另一個是僞班級(:hover)。當鼠標位於元素上時,僞類將被匹配,並且當元素具有該類時,該類將被匹配。

推測這個類是通過JavaScript添加的。這可能是爲了兼容性(IE的某些版本,我相信IE6或IE7,只支持:hover,<a>元素),或者它可能是用於額外的功能(例如粘性突出顯示)。