CSS中<a>标签伪类顺序
<!DOCTYPE html>
<style type="text/css">
a:link{color:black;}
a:visited{color:blue;}
a:hover{color:red;}
a:active{color:green;}
</style>
<a href="#"> content </a>
根据CSS就近原则,从底往向上顺序查找,一直找到满足条件的定义为止。A标签的4个伪类:
1. ':link' :适用于未被访问的链接; |
2. ':visited' :适用于已经访问过的链接; |
3. ':hover' :鼠标指针指向一个元素,还未激活; |
4. ':active' :适用于一个元素被选择但未被释放; |
W3C制定的CSS21规范中指出:四个伪类的声明顺序应该是:':link'、':visited'、':hover'、':active'。 A:hover必须放置在A:link和A:visited之后,否则将隐藏A:hover内定义的相同规则。同理,A:active应在A:hover 之后,否则A:active中的相同规则将被隐藏。原因应该就在于浏览器解释CSS时遵循的“就近原则”。
推荐大家以后按照 L-V-H-A 的顺序来定义 <a> 标签的伪类样式。这样在各个浏览器里就都一样了。可以记这两个词:LOVE--HATE。
参考:
http://topic.csdn.net/u/20100630/14/7223adb9-3d4b-4869-9eaa-a424badeaeac.html