使用:link和:visited伪类可区分链接的未访问与已访问状态,其中:link设置未访问链接样式,:visited设置已访问链接样式(仅限颜色相关属性),需按LVHA顺序(:link、:visited、:hover、:active)定义以避免覆盖,正确应用可提升页面可用性。

要区分链接的未访问与已访问状态,可以使用 CSS 中的 :link 和 :visited 伪类。这两个伪类专门用于设置超链接在不同访问状态下的样式。
1. :link 伪类 — 设置未访问链接的样式
这个伪类作用于用户尚未点击过的链接。只有当链接的href 属性存在且浏览器历史中没有访问记录时才会生效。
例如:
a:link {
color: blue;
text-decoration: underline;
}
2. :visited 伪类 — 设置已访问链接的样式
这个伪类匹配用户已经点击访问过的链接。出于隐私保护原因,现代浏览器对可设置的样式属性有所限制。示例:
a:visited {
color: purple;
}
注意:你只能修改颜色相关属性(如 color、background-color),不能改变边框、字体大小或添加阴影等,否则浏览器会忽略这些设置。
3. 正确的书写顺序建议(LVHA)
为了确保样式正常生效,推荐按照以下顺序定义链接状态:- :link — 未访问
- :visited — 已访问
- :hover — 鼠标悬停
- :active — 点击瞬间
简记为 LVHA,这样能避免样式被覆盖的问题。
立即学习“前端免费学习笔记(深入)”;
4. 实际应用示例
a:link {
color: #0066cc;
}
a:visited {
color: #663399;
}
a:hover {
color: #ff6600;
}
a:active {
color: #ee0000;
}
这样用户在浏览过程中能清晰感知链接状态变化,提升页面可用性。
基本上就这些。用好 :link 和 :visited 能有效区分链接访问状态,同时遵循规范可避免样式失效问题。










