用style属性可快速修改单个链接默认颜色,但无法控制:hover、:visited等状态;全站统一需按link→visited→hover→active顺序书写CSS伪类,并推荐使用外部CSS文件维护。

直接用 style="color: #007bff;" 能改单个链接颜色,但只生效于未访问、未悬停的默认状态;真要控制所有状态,必须用 CSS 伪类,且顺序不能错。
只改一个链接颜色:用 style 属性最省事
在 <a></a> 标签里加 style="color: red;" 就行,支持颜色名(red)、十六进制(#007bff)、RGB(rgb(0, 123, 255))。
常见错误现象:style="color: red" 没生效,大概率是漏了引号、用了中文标点,或父级元素设置了更高优先级的 color 覆盖了它。
注意:style 只影响默认状态,:hover、:visited 完全不受影响——鼠标移上去还是蓝的,点过之后还是紫的。
立即学习“前端免费学习笔记(深入)”;
想统一改全页链接颜色:必须用 <style></style> 块
在 里写:
a:link { color: #007bff; }
a:visited { color: #6c757d; }
a:hover { color: #0056b3; }
a:active { color: #004080; }
顺序不能乱:必须是 :link → :visited → :hover → :active,否则 :hover 可能被 :visited 规则拦截失效。
别写成 a { color: #28a745; } ——它会同时覆盖 :link 和 :visited,导致已访问链接失去视觉区分,用户无法判断哪些点过了。
:visited 颜色不生效?不是你写错了,是浏览器限制
现代 Chrome/Firefox/Safari 对 :visited 有严格安全策略:只允许修改有限样式,比如 color、background-color、border-color 等基础属性。
以下写法会被浏览器忽略:font-size、display、transition、transform,哪怕语法完全正确也不起作用。
如果 a:visited { color: #6c757d; } 没反应,先确认链接确实已被访问(可清空浏览器历史重试),再检查是否混用了 !important 导致层叠冲突。
多个页面共用样式:外部 .css 文件是唯一靠谱方案
把上面那组伪类规则存为 styles.css,然后在每个 HTML 文件的 里加:
<link rel="stylesheet" href="styles.css">
好处很明显:改一处,所有页面同步更新;不用复制粘贴,避免漏改某个页面的 <style></style> 块;也方便未来接入构建工具或 CDN。
别图省事在每个页面都写一遍 <style></style> ——只要页面数超过 3 个,维护成本就会指数级上升,尤其当品牌色下个月要从蓝色改成深绿时。



















