应使用两层span标签分别包裹不同颜色文字,如红色和蓝色,并通过style="color:#f00;"和style="color:#00f;"设置;避免用font标签或在p标签中重复定义color属性。

用 span 套两层,颜色分开设
HTML 本身不支持一段文字直接设两种颜色,必须靠内联标签把不同部分“包”出来。最常用、也最稳妥的方式就是用 span 把需要变色的字单独围住,再各自加 style="color:..."。
常见错误是试图在 p 标签里直接写两个 color 值,比如 style="color:red; color:blue;"——这只会生效最后一个,整段还是统一蓝色。
- 只对想变色的部分用
span,别包整段,否则语义混乱、后期难维护 - 颜色值优先用十六进制(如
#333)或英文名(如red),避免用rgb()增加冗余 - 如果项目用了 CSS 预处理器或框架,建议抽成 class,而不是全写行内 style
<p>这是一段<span style="color:red;">红色</span>和<span style="color:blue;">蓝色</span>的文字</p><div class="aritcle_card flexRow"> <div class="artcardd flexRow"> <a class="aritcle_card_img" href="/ai/995" title="易企秀"><img src="https://img.php.cn/upload/ai_manual/000/000/000/175680113987553.png" alt="易企秀"></a> <div class="aritcle_card_info flexColumn"> <a href="/ai/995" title="易企秀">易企秀</a> <p>易企秀,一体化创意设计营销平台。超100万模板1键套用3分钟制作,随时随地完成创意设计营销。</p> </div> <a href="/ai/995" title="易企秀" class="aritcle_card_btn flexRow flexcenter"><b></b><span>下载</span> </a> </div> </div>
遇到中文乱码或颜色不生效?先查这三处
不是代码写错,而是环境或细节卡住了。很多“颜色没变”其实是被其他样式覆盖、编码出问题,或者浏览器缓存旧 CSS。
立即学习“前端免费学习笔记(深入)”;
-
meta charset缺失或写错(比如写成gb2312却放了 UTF-8 内容),会导致span标签解析失败,整个结构错乱 - 外部 CSS 文件里有更高级的选择器(比如
p span { color: black !important; }),会强行覆盖你的行内 color - 改完保存但浏览器没刷新缓存,尤其是用 VS Code Live Server 时,偶尔要手动
Ctrl+F5
要不要用 font 标签?别用
font 是 HTML4 的废弃标签,W3C 已明确不推荐,现代浏览器虽还支持,但 IDE 会报 warning,而且它不能嵌套、无法配合 Flex/Grid 布局,一加就容易破排版。
有人图省事写 <font color="red">红</font><font color="blue">蓝</font>,看似能用,但:
- 语义为零,无障碍阅读器识别不了
- 后续想加 hover 效果、过渡动画,
font标签根本不支持 :hover 伪类 - 一旦团队协作或接入 CI 检查(比如 ESLint + HTMLHint),直接被标为 error
span + 行内 style 只会让代码越来越脆。









