a:link,a:visited,a:hover,a:active
1:解釋
link:連接平常的狀態
visited:連接被訪問過之後
hover:鼠標放到連接上的時候
active:連接被按下的時候
詳細的:
:hover版本:CSS1/CSS2 兼容性:IE4+ NS4+
語法:
Selector : hover { sRules }
說明:
設置對象在其鼠標懸停時的樣式表屬性。
在CSS1中此偽類僅可用於a對象。且對於無href屬性(特性)的a對象,此偽類不發生作用。在CSS2中此偽類可以應用於任何對象。
目前IE5.5+僅支持CSS1中的:hover。
:active版本:CSS1/CSS2 兼容性:IE4+
語法:
Selector : active { sRules }
說明:
設置對象在被用戶激活(在鼠標點擊與釋放之間發生的事件)時的樣式表屬性。
在CSS1中此偽類僅可用於a對象。且對於無href屬性(特性)的a對象,此偽類不發生作用。在CSS2中此偽類可以應用於任何對象。並且:active狀態可以和:link以及:visited狀態同時發生。
目前IE5.5+僅支持CSS1中的:active。
:link版本:CSS1 兼容性:IE4+ NS4+
語法:
Selector : link { sRules }
說明:
設置a對象在未被訪問前的樣式表屬性。
IE3將:link偽類的樣式表屬性作用於visited偽類。
默認值由浏覽器決定。
對於無href屬性(特性)的a對象,此偽類不發生作用。
:visited版本:CSS1 兼容性:IE4+ NS4+
語法:
Selector : visited { sRules }
說明:
設置a對象在其鏈接地址已被訪問過時的樣式表屬性。
IE3將:link偽類的樣式表屬性作用於visited偽類。
默認值由浏覽器決定。定義網頁過期時間或用戶清空歷史記錄將影響此偽類的作用。
對於無href屬性(特性)的a對象,此偽類不發生作用。
2:hover和a:visited書寫順序的重要性
今天在用a:hover屬性的時候發現一個奇怪的問題,同一個頁面裡面有些鏈接的a:hover效果不能正常表現出來。鏈接的代碼是一樣,沒有使用其它樣式固定,搞的我莫名其妙。還以為是某個標簽沒有關閉,但是頁面比較長,檢查起來又嫌累,但是想來想去找不到其它原因,索性把浏覽器一關,做別的事情去了。
重新打開這個頁面的時候,突然發現那個鏈接的a:hover效果又出來了。我想了一下,點了那個鏈接,然後回過頭再點,果然又沒了。連忙檢查css文檔,發現a:hover屬性寫在了visited之前,改寫到之後,重試,ok!
以前看書的時候注意到css中關於鏈接表現的書寫有提示說各屬性順序不能顛倒,一直沒有注意,寫的時候通常都很隨意。現在看來不能這個順序還是很重要的。
css中關於超鏈接的四個屬性一般正常順序為:link,visited,hover,active,即
a:link
a:visited
a:hover
a:active