2009-08-26 42 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 =链接,访问过,悬停,活性