color属性必须写在style中才生效,如;直接写color="red"无效;支持十六进制、rgb、hsl等格式,不支持中文颜色名;内联样式优先级高于外部css;语法错误会导致整段style失效;标签已废弃。

color 属性写在 style 里才生效
直接写 color 不会变色,必须挂载到 style 属性下,浏览器才认。常见错误是把 color 当成 HTML 标签属性(比如写成 <p color="red"></p>),这完全无效。
-
<p style="color: red;">文字</p>✅ 正确 -
<p color="red">文字</p>❌ 无效果,HTML 没这个属性 - 十六进制、rgb、hsl 都支持:
color: #333、color: rgb(51, 51, 51)、color: hsl(0, 0%, 20%) - 别用中文颜色名(如
"红色"),只认英文关键词:red、blue、transparent等
内联 style 和外部 CSS 的优先级差异
如果同时写了内联 style="color: blue" 和外部 CSS 里的 p { color: green },内联样式会赢——这不是 bug,是 CSS 层叠规则决定的。调试时容易误以为“CSS 没加载”,其实是被行内样式盖掉了。
- 检查元素时,看浏览器开发者工具里哪条
color带了小横线(strikethrough),那就是被覆盖的 - 想强制覆盖内联样式?得用
!important,但不推荐,容易埋坑 - 用 class 替代大量
style更易维护:<p class="warning"></p>+.warning { color: #d32f2f; }
color 值写错导致整个 style 失效
style 是字符串,语法错一个字符(比如少个分号、多一个括号、引号不闭合),整段 style 就被浏览器忽略,文字保持默认黑。这种错误不报错,只静默失败。
- 错误示例:
style="color: red; font-size: 14px"(结尾缺分号)→ 可能失效 - 更隐蔽的:
style="color: #ff0000; background: url('img.jpg')"→url()里单引号未闭合,后面所有样式丢弃 - 建议:值里含空格或特殊符号时,统一用双引号包住整个
style值;纯英文关键词可省略引号,但别混用
font 标签早就不该用了
<font color="red"></font> 是 HTML 3.2 的古董,所有现代浏览器虽还兼容,但 HTML5 已彻底废弃。W3C 不再定义它,任何新项目都不该出现。
立即学习“前端免费学习笔记(深入)”;
- 用
<font></font>会导致 validator 报错,影响 SEO 和可访问性检测 - 它不能设置透明度(
rgba)、渐变色、系统色(CanvasText)等现代能力 - 哪怕只是临时改一行字颜色,也请用
<span style="color: #666"></span>,干净利落
style 值,实时看效果——比反复保存刷新快得多。










