2009-08-26 38 views
2

我有一些CSS代碼,顯示懸停的背景顏色。文本在藍色背景上是白色的。需要CSS文字顏色爲:懸停優先於:訪問

否則,如果沒有懸停,文本是藍色的,並帶有白色背景。 但是,當鏈接已被訪問時,文本保持藍色並且懸停時顯示藍色背景。

如何強制懸停文字顏色優先?

a:link{ 
    color:#3399cc; 
} 

a:hover{ 
    background-color:#3399cc; 
    color:#ffffff; 
} 
a:visited{ 
    color:#3399cc; 
} 
a:active{ 
    color:#3399cc; 
} 

回答

9

我想指定爲:hover風格數據:visited風格數據足以做的伎倆:

a:visited{ 
    color:#3399cc; 
} 
a:hover{ 
    background-color:#3399cc; 
    color:#ffffff; 
} 
+5

有幾個縮寫要記住鏈接屬性正確的順序 - 一個是愛恨 - 連結;訪問;徘徊;有效 – Traingamer 2009-08-26 18:37:46

+0

還不知道那個 - 謝謝! – JorenB 2009-08-26 19:02:12

+0

拉斯維加斯地獄天使是我剛纔看到的另一個好縮寫詞。 – 2009-12-02 19:29:28

4

如果我沒有記錯的話,你所要做的就是切換順序,把:後懸停類:造訪的類在樣式表

-1

一種方法是使用!important關鍵字:

a:visited 
{ 
    color:#3399cc; 
} 
a:hover 
{ 
    background-color: #3399cc; 
    color: #ffffff !important; 
} 

這將確保:hover優先。

它也可能會取代你的a:visited hover,這意味着一個<hover>元素(不存在!),與a:visited:hover。如前所述,改變樣式的順序應該是一個充分的解決方法:後面的定義優先於先前的定義。

+0

請不要!重要的黑客。圍繞這樣的事情總是有效的。 – corymathews 2009-08-26 16:56:24

2

Eric Meyer的關於這個問題文章:Ordering The Link States

建議,您使用「鏈接訪問懸停活躍」 LVHA規則,指的是假的順序CSS規則中的類。這些評論帶來了一些容易辨認的首字母縮寫詞上(增加:focus進入包)排序:

  • 大號 ORD V阿德的˚F ormer ^h andle,一個 NAKIN
  • L ord V ader F roze H ans SS
3

LoVeHAte =鏈接,訪問過,懸停,活性