在前端设计中我们经常遇到这样的问题:给链接添加了a:hover,但是鼠标移上去却完全没反应。归根结底是锚伪类书写顺序造成的。
| :link | 适用于未被访问的链接; |
| :visited | 适用于已经访问过的链接; |
| :hover | 鼠标指针指向一个元素,还未激活; |
| :active | 适用于一个元素被选择但未被释放; |
W3C制定的CSS21规范中指出:四个伪类的声明顺序应该是:’:link’、’:visited’、’:hover’、’:active’。 A:hover必须放置在A:link和A:visited之后,否则将隐藏A:hover内定义的相同规则。同理,A:active应在A:hover 之后,否则A:active中的相同规则将被隐藏。
需要说明的是在IE浏览器中:hover无论你放在什么位置都有效果,具体差异你可以亲自试一试。
推荐大家以后按照 L-V-H-A 的顺序来定义 <a> 标签的伪类样式, 一个帮助记忆正确顺序的窍门: 记住”LoVe/HAte”原则 , 灰常形象啊。
本文介绍了CSS中链接伪类:link、:visited、:hover和:active的正确书写顺序及其原因。遵循W3C规范,确保:hover效果正常显示,避免不同浏览器间的差异。
2368

被折叠的 条评论
为什么被折叠?



