应使用css color属性设置字体颜色,禁用已废弃的标签;支持#rrggbb、rgb/rgba和英文颜色名;注意继承性、优先级冲突及深色模式适配。

HTML 字体颜色直接用 color CSS 属性就行,别碰过时的 <font color="..."></font> 标签——它早被 HTML5 废掉了,现代浏览器虽可能渲染,但毫无保障。
怎么用 color 设置文字颜色
所有文本元素(<p></p>、<span></span>、<h1></h1> 等)都支持 color,写在 style 属性里最直白:
<p style="color: #336699;">这段字是蓝灰</p> <span style="color: rgb(255, 102, 0);">橙色</span>
-
#RRGGBB(如#ff6600)最常用,兼容性好,手写方便 -
rgb(r, g, b)或rgba(r, g, b, a)适合需要透明度的场景(a是 0–1 的小数) - 英文颜色名(如
tomato、slategray)可读性强,但只有约 140 个标准名,别指望lightseagreen以外还能拼对
为什么不能用 <font color="#xxx"></font>
这个标签在 HTML 4.01 就被标记为“废弃”,HTML5 完全移除。实际踩坑点比想象中多:
- Vue/React 等框架的模板解析器会直接忽略它,或报 warning
- 某些邮件客户端(比如 Outlook 桌面版)反而只认它——但这不是理由,该用内联
style加!important兜底 - 和 CSS 优先级冲突:如果外部样式表也写了
p { color: red; },<font></font>可能被覆盖且难以调试
color 的继承行为和常见失效原因
color 是可继承属性,子元素默认用父元素的值。但容易误以为“没生效”,其实是被更高优先级规则盖掉了:
立即学习“前端免费学习笔记(深入)”;
- 检查是否被
!important的全局样式(比如重置库normalize.css)压制 - 链接(
<a></a>)有默认:link/:visited状态色,单设color不影响已访问链接,得加伪类:a:visited { color: purple; } - 行内
style优先级高于外部 CSS,但低于带!important的同级规则 - 深色模式下,部分系统级颜色(如
CanvasText)会自动适配,但#000000这种硬编码不会变——要响应式就得用prefers-color-scheme
真正麻烦的从来不是“怎么写颜色”,而是颜色在不同上下文里被谁改了、什么时候改的、为什么改不动——盯住开发者工具里的“Computed”面板,比背代码管用得多。










