必须同时设置a:link、a:visited、a:hover、a:active四个伪类且按lvha顺序,否则颜色修改无效;a:visited受安全限制仅允许color等少数属性;内联style无法覆盖伪类,应使用class和外部css。

超链接默认是蓝色带下划线,改颜色不能只靠 color 简单设一次就完事——因为链接有四种状态,浏览器会按优先级覆盖,不显式处理所有状态,改了也白改。
必须同时设置 a:link、a:visited、a:hover、a:active 四个伪类
浏览器对 @#@#@#@#@#@#@#@#@#@0 只能影响 a:link 和 a:visited 的初始态,:hover 仍走 CSS 规则。这是 CSS 特异性(specificity)决定的:伪类选择器权重高于内联 style 中的单个属性(除非加 !important,但不推荐)。
所以临时调试可以,生产环境必须写进 <style></style> 或外部 CSS 文件。
- 想局部控制?用 class 更可靠:
@#@#@#@#@#@#@#@#@#@1,再写.nav-link:hover { color: #3498db; } - 避免用
!important强行覆盖伪类——后期维护时容易漏掉某个状态,导致悬停变色失效
color 值写错或不合法导致“没反应”
常见无效写法包括:color: red#ff0000;(混写)、color: #gg0000;(非十六进制字符)、color: rgb(256, 0, 0);(R 值超 255)。浏览器会直接忽略整条声明,退回到默认蓝色。
- 十六进制推荐用小写:
#3498db,避免大小写混用引发缓存或拼写问题 - RGB 推荐用百分比或整数,别混用:
rgb(52, 152, 219)✅,rgb(52, 152, 219%)❌ - 颜色名仅限 140 个标准名(如
tomato、rebeccapurple),darkblue可用,deepblue不可用
真正容易被忽略的是:很多人调完 a:hover 发现不动,反复检查 CSS 却没意识到自己漏写了 a:visited,结果已访问过的链接死活不变色——不是代码没生效,是浏览器默默执行了另一条规则。
/* 必须按这个顺序写,否则:hover可能被visited覆盖 */
a:link { color: #2c5e1a; }
a:visited { color: #27ae60; }
a:hover { color: #2ecc71; }
a:active { color: #27ae60; }前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











