HTML中无“字幕标签”,是表格标题、是字幕轨道,二者均不支持直接加粗;需用实现语义化强调或CSS的::cue伪元素控制字幕样式。

HTML 里没有“字幕标签”这个东西,<caption></caption> 是表格标题,<track></track> 是视频字幕轨道——两者都不支持直接加粗内部文字。真要突出重点,得靠语义标签或 CSS 控制。
为什么 <caption></caption> 不能直接加粗?
<caption></caption> 是块级容器,本身不带语义化强调能力,浏览器默认渲染为居中、稍大字体,但不自动加粗(除非你用 CSS 显式设置)。它只负责描述表格内容,不是强调工具。
- 常见错误:写成
<caption><b>销售数据汇总</b></caption>—— 视觉上可能加粗,但语义错位:<b></b>没有重要性含义,屏幕阅读器不会加重语气 - 正确做法:用
<strong></strong>包裹关键词,比如<caption>本季度<strong>销售额突破 500 万</strong> </caption> - 注意:别在
<caption></caption>里塞太多样式逻辑,它该干的事是“说明表格主题”,不是“做高亮面板”
<track></track> 字幕怎么加粗?根本不能直接加
<track></track> 标签只是声明字幕文件路径和类型(如 kind="subtitles"),它不渲染任何文字。真正显示字幕的是浏览器内置字幕渲染器,你无法用 HTML 标签控制它的样式。
- 想加粗字幕文字?必须通过 CSS 的
::cue伪元素,例如:video::cue { font-weight: bold; } - 但要注意:
::cue兼容性有限,iOS Safari 15.4 之前不支持,旧版 Android WebView 基本无效 - 更现实的方案:用 WebVTT 文件内联 CSS 类(如
<b>紧急通知</b>),再配合::cue(.highlight) { font-weight: 700; }—— 但前提是播放器支持 VTT 的 CSS 类解析
重点文字突出,到底该用哪个标签?
别纠结“字幕”,先看文字在页面里的角色:
立即学习“前端免费学习笔记(深入)”;
- 是表格标题里的关键指标?→ 用
<strong></strong>,再配 CSS 统一控制外观(比如caption strong { color: #d32f2f; }) - 是视频字幕中需要强调的词?→ 改 WebVTT 内容 +
::cue样式,别碰<track></track>属性 - 是纯视觉强调(比如按钮文字、导航项),无语义权重?→ 用 CSS 类,如
class="text-emphasis",避免污染结构 - 绝对不要用
<b></b>替代<strong></strong>,尤其在可访问性要求明确的场景(政府/金融类站点)
真正难的不是“怎么加粗”,而是判断哪段文字值得被识别为重要——屏幕阅读器会停顿、SEO 会加权、用户扫读时会优先捕捉。标签选错,后面补 Accessibility Audit 或重写 SSR 模板,成本远高于一开始写对 <strong></strong>。



















