:link和:visited伪类用于设置未访问和已访问链接样式,需按LVHA顺序书写以避免覆盖,并注意浏览器对:visited样式的颜色属性限制。

在CSS中,可以通过 :link 和 :visited 伪类来分别控制未访问和已访问链接的颜色。正确使用这两个伪类,可以让网页中的超链接具有更好的可读性和用户体验。
1. :link 与 :visited 的基本用法
:link 用于设置未被用户点击过的链接样式,而 :visited 则用于设置已被访问过的链接样式。两者通常配合使用,确保链接状态清晰可辨。
示例代码:
a:link {
color: blue; /* 未访问的链接为蓝色 */
}
a:visited {
color: purple; / 已访问的链接变为紫色 /
}
2. 注意书写顺序(LVHA原则)
为了确保样式正确生效,推荐按照 LVHA 顺序定义链接状态::link → :visited → :hover → :active。这样可以避免样式被覆盖。
推荐写法:
a:link { color: blue; }
a:visited { color: purple; }
a:hover { color: red; }
a:active { color: orange; }
3. 浏览器安全限制
出于隐私保护,现代浏览器对 :visited 可修改的样式有所限制。你只能更改颜色相关的属性(如 color、background-color、border-color 等),且不能通过JavaScript获取是否已访问。
立即学习“前端免费学习笔记(深入)”;
例如,以下设置是允许的:
a:visited {
color: #666;
background-color: #f0f0f0;
}
4. 实际应用场景
在内容密集的页面(如文章列表、搜索结果)中,使用不同颜色区分已读和未读链接,能帮助用户快速识别信息浏览状态。
- 新闻网站中,已阅读标题显示为灰色
- 文档导航中,访问过的章节链接变色提示
- 表单步骤指示器中标识已完成步骤
基本上就这些,合理使用 :link 和 :visited 能提升界面可用性,注意顺序和浏览器限制即可。










