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

HTML 中 alink 属性早已被废弃,别再用它
直接说结论:alink 是 HTML 4.01 和早期浏览器支持的过时属性,从 HTML5 开始彻底移除,现代浏览器(包括 Chrome、Firefox、Edge、Safari)完全忽略它。哪怕你写成 ,点击链接时也不会变红。
CSS 的 :active 伪类才是正确控制“点击瞬间”的方式
要实现“鼠标按下、链接正在被激活”那一帧的颜色效果,必须用 CSS :active 伪类。它专门匹配用户正按住鼠标左键(或触屏长按未松开)时的链接状态。
常见错误现象:只写 :hover 或 :visited,结果点击时颜色没变化;或者把 :active 写在 :hover 后面却没加 !important,导致样式被覆盖。
实操建议:
-
:active必须作用于元素,例如a:active { color: orange; } - 它只在鼠标按键按下到松开的极短时间内生效,无法通过 JS 模拟触发(除非用
element.click()并配合setTimeout强制重排,但不推荐) - 移动端需注意:iOS Safari 默认会延迟
:active响应,可在加并给元素加cursor: pointer来改善 - 若想让点击后保持颜色(比如选中态),那是
:focus或自定义 class 的事,和:active无关
完整链接状态链::link → :visited → :hover → :active → :focus
浏览器按固定顺序应用这五个伪类,顺序错了就会覆盖失效。最稳妥的书写顺序是 LVHA(Link-Visited-Hover-Active),加上 Focus 就是 LVHFA:
a:link { color: blue; }
a:visited { color: purple; }
a:hover { color: red; }
a:active { color: orange; }
a:focus { outline: 2px solid #007bff; }
性能影响很小,但若在 :active 中触发重排(比如改 height 或 margin),可能造成点击卡顿,建议只动颜色、背景色、文字装饰等轻量属性。
为什么有人还在搜 alink?兼容旧代码或文档误导
部分老项目、内部 CMS 模板或某些中文技术博客仍沿用过时说法。遇到类似问题,先检查浏览器开发者工具的 Elements 面板——如果 alink 属性出现在 HTML 标签上,右键“Edit as HTML”删掉它,然后补上 CSS :active 规则。
容易被忽略的一点::active 对非 可点击元素(如 、带 tabindex 的










