超链接访问过后 hover 样式就不出现的问题是什么?如何解决?

被点击访问过的超链接样式不再具有 hover 和 active 了。

解决方法是改变 CSS 属性的排列顺序:L-V-H-A(link, visited, hover, active)。

补充:原因是 CSS 选择器优先级相同的情况下,后定义的样式会覆盖先定义的。a:link 和 a:visited 写在 a:hover 之后时,由于浏览器已经记录访问历史,匹配上的会是 visited,从而"压住" hover 的视觉反馈。顺序写成 link → visited → hover → active(记忆口诀:"LoVe HAte")即可。

注意 :focus / :active 也建议放在 hover 之后,避免类似覆盖问题。