CSS為一些特殊效果準備了特定的工具,我們稱之為“偽類”。其中有幾項是我們經常用到的,下麵我們就詳細介紹一下經常用於定義鏈接樣式的四個偽類,它們分別是: 1 :link 2 :visited 3 :hover 4 :active 因為我們要定義鏈接樣式,所以其中必不可少的就是超級鏈接中的錨標簽--a ...
CSS為一些特殊效果準備了特定的工具,我們稱之為“偽類”。其中有幾項是我們經常用到的,下麵我們就詳細介紹一下經常用於定義鏈接樣式的四個偽類,它們分別是:
1 :link 2 :visited 3 :hover 4 :active 因為我們要定義鏈接樣式,所以其中必不可少的就是超級鏈接中的錨標簽--a,錨標簽和偽類鏈接起來書寫的方法就是定義鏈接樣式的基礎方法,它們的寫法如下: 1 a:link,定義正常鏈接的樣式; 2 a:visited,定義已訪問過鏈接的樣式; 3 a:hover,定義滑鼠懸浮在鏈接上時的樣式; 4 a:active,定義滑鼠點擊鏈接時的樣式。 示例: 01 a:link { 02 color:#FF0000; 03 text-decoration:underline; 04 } 05 a:visited { 06 color:#00FF00; 07 text-decoration:none; 08 } 09 10 a:hover { 11 color:#000000; 12 text-decoration:none; 13 } 14 15 a:active { 16 color:#FFFFFF; 17 text-decoration:none; 18 } 上面示例中定義的鏈接顏色是紅色,訪問過後的鏈接是綠色,滑鼠懸浮在鏈接上時是黑色,點擊時的顏色是白色。 如果正常鏈接和已訪問過的鏈接樣式相同,滑鼠懸浮和點擊時的樣式相同,也可以將它們合併起來定義: 1 a:link, a:visited { 2 color:#FF0000; 3 text-decoration:underline; 4 } 5 a:hover, a:active { 6 color:#000000; 7 text-decoration:none; 8 } 鏈接定義的順序 沒有規矩不成方圓,雖然鏈接定義寫好了,但它也是有規則的,如果這四項的書寫順序稍有差錯,鏈接的效果可能就沒有了,所以每次定義鏈接樣式時務必確認定義的順序,link--visited--hover-active,也就是我們常說到的LoVe HAte原則(大寫字母就是它們的首字母)。 老外總結了一個便於記憶的“愛恨原則”(LoVe/HAte),即四種偽類的首字母:LVHA。定義A鏈接樣式的正確的順序:a:link、a:visited、a:hover、a:active。 為什麼我們不能改變定義的順序?做下測試就可以了。 假設我們想實現下麵的樣式: 狀態 樣式 顏色 已訪問 a:visited 紅 未訪問 a:link 藍 選定 a:active 綠 滑鼠移入 a:hover 黃 滑鼠移入時,並沒有變黃。而是當這個鏈接已經被訪問過後,滑鼠移入才變黃: 1 a:visited{color:red;} 2 a:hover{ color:yellow;} 3 a:link{ color:blue;} 4 a:active{ color:green;} 這是因為,一個滑鼠經過的未訪問的鏈接同時擁有a:link,a:hover兩種屬性,在上述的CSS樣式中,a:link離他最近,先滿足a:link,而放棄a:hover的重覆定義。 而使用LVHA順序聲明後,它首先檢查a:hover的符合標準,先變色。 所以說,為了符合瀏覽器解釋CSS遵循的"就近原則"。我們在定義CSS中,宜將最一般的條件放在最上面,並依次向下,最下麵放最特殊的。 在W3C規範中,也規定了鏈接的聲明順序: 在 CSS 定義中,a:hover 必須被置於 a:link 和 a:visited 之後,才是有效的。 在 CSS 定義中,a:active 必須被置於 a:hover 之後,才是有效的。 定義局部鏈接樣式 在CSS中寫上a:link{}這樣的定義會使整個頁面的鏈接樣式改變,但有些局部鏈接需要特殊化,這個問題也不難解決,只要在鏈接樣式定義的前面加上指定的id或class就可以了。 1 #sidebar a:link, #sidebar a:visiteid { 2 color:#FF0000; 3 text-decoration:none; 4 } 5 #sidebar a:hover, #sidebar a:active { 6 color:#000000; 7 text-decoration:underline; 8 } HTML調用: 1<div id= "sidebar" ><a href等於 "aa.aspx" target= "_blank" >鏈接到aa頁面<a></div> |