alink属性在HTML5中已被彻底移除,现代浏览器均不支持;应使用CSS的a:active伪类控制点击态,注意声明顺序、移动端兼容及避免JS误读undefined。

alink 属性在 <body> 中已完全无效,现代浏览器(Chrome、Firefox、Edge、Safari)均不支持,HTML5 标准中已正式移除。
为什么 alink 不再起作用
该属性属于 HTML 3.2 时代的内联样式控制方式,用于设置“正在被点击的链接”颜色。但自 HTML4 开始就被标记为过时(deprecated),到 HTML5 时被彻底删除。浏览器厂商早已停止解析该属性——哪怕你写在 <body alink="red"> 里,DOM 中根本不会出现对应行为,CSS 伪类也完全不响应它。
替代方案:必须用 CSS 的 :active 伪类
唯一可靠、可维护、符合标准的做法是使用 CSS 控制活动链接状态:
a:active {
color: #ff4444;
}
注意几个关键点:
-
:active只对<a>元素生效,且仅在鼠标按下(或触屏按压)到松开前的瞬间触发 - 若链接同时有
:hover和:active,需确保声明顺序合理(通常:hover在前,:active在后),否则可能被覆盖 - 移动端需额外考虑
:active的触发延迟问题,部分 iOS Safari 默认禁用该伪类,可通过touchstart事件临时添加 class 模拟
常见误用与兼容性陷阱
有人试图用 JavaScript 动态设置 document.body.alink 或读取该属性,结果一律返回 undefined 或空字符串——因为 DOM 接口里根本没这个字段。
还有人把 alink 和 vlink、link 一起写进旧模板,指望“向后兼容”,实际只是白写,且会干扰代码可读性。
更隐蔽的问题是:某些 CMS 或老旧编辑器导出的 HTML 仍保留这些属性,看似无害,但会误导维护者以为样式受控于 HTML 属性,从而忽略真正起效的 CSS 规则。
现在能真正影响链接点击态的,只有 CSS :active(以及必要时配合 JS 的 class 切换)。别在 <body> 上浪费一个属性位了。

















