用style属性改单个链接颜色最省事,但只影响默认状态;全站统一需用外部css文件并按link→visited→hover→active顺序声明样式。

只改一个链接,用 style 属性最省事
直接在 <a></a> 标签里加 style="color: #007bff;" 就行,支持颜色名(red)、十六进制(#007bff)、RGB(rgb(0, 123, 255))等写法。
常见错误现象:style="color: red" 没生效,大概率是漏了引号、拼错 color、用了中文标点,或者父级元素设置了更高优先级的 color 覆盖了它。
注意:这个方式只影响链接的默认状态(即未访问、未悬停),:hover 和 :visited 不会跟着变——别指望靠它控制鼠标移上去或点过之后的颜色。
要统一改全页所有链接,必须用 <style></style> 块
在 HTML 文件的 里加一段 <style></style>,比每个链接都写 style 强得多。基础写法:a { color: #28a745; },但这样会同时覆盖 :link 和 :visited,可能让已访问链接失去视觉区分。
更稳妥的做法是显式声明全部状态:
a:link { color: #007bff; }
a:visited { color: #6c757d; }
a:hover { color: #0056b3; }
a:active { color: #004080; }
顺序不能乱:必须按 :link → :visited → :hover → :active 写,否则 :hover 可能被 :visited 拦截失效。
:hover 或 :visited 颜色不生效?先查这三点
写了 a:hover { color: orange; } 却没反应,问题通常不在 CSS 本身:
-
:visited受浏览器安全限制:Chrome/Firefox/Safari 禁止通过 CSS 设置font-size、display、transition等属性,但color和background-color是可用的 -
:hover失效常因父容器有pointer-events: none,或链接被其他透明/空元素(比如没设高度的<div>)盖住了 <li>如果用了 <code>!important强制某个颜色,又在后面重复定义冲突规则,CSS 层叠逻辑可能导致预期外的结果
多个页面共用样式,必须抽成外部 .css 文件
当网站有首页、文章页、联系页等多个 HTML 文件时,硬编码每页的 <style></style> 或内联 style 会导致改一处、漏十处。
把链接样式单独存为 styles.css,内容示例:
a:link { color: #007bff; text-decoration: none; }
a:visited { color: #6c757d; }
a:hover { color: #0056b3; }
然后在每个 HTML 的 里引入:<link rel="stylesheet" href="styles.css">
这是唯一能保证多页面风格一致、后期维护不崩溃的方式。别图省事写一堆内联样式,改到第三页你就想删库跑路。











