::cue伪元素用于自定义HTML5视频WebVTT字幕样式,可设置颜色、字体、阴影等外观,支持按类名或标签精细控制,提升可读性与美观度。

使用 ::cue 伪元素可以自定义 HTML5 视频中 WebVTT 字幕的显示样式。这个伪元素专门用于控制视频播放时字幕的外观,适用于内嵌或外部加载的字幕文件(.vtt)。
基本语法与作用范围
::cue 可以应用在 元素上,用来设置所有字幕的样式。支持全局样式,也可以根据字幕文本中的 CSS 类或特定标签进行更精细的控制。
常见写法:
-
video::cue { color: yellow; background-color: black; }—— 应用于所有字幕行 -
video::cue(b) { font-weight: bold; }—— 仅对字幕中用 标签包裹的内容生效 -
video::cue(.highlight) { background-color: red; }—— 对带有 highlight 类的字幕片段应用样式
常用样式属性
你可以通过 ::cue 设置以下视觉样式:
立即学习“前端免费学习笔记(深入)”;
- color:文字颜色
- background-color:背景色,常用于增强可读性
- font-size:调整字体大小,适应不同屏幕
- font-family:设置字体类型
- text-shadow:添加文字阴影,提升对比度
- opacity:调节透明度
示例:
video::cue {
color: #fff;
background-color: rgba(0, 0, 0, 0.6);
font-size: 1.2em;
font-family: 'Arial', sans-serif;
text-shadow: 2px 2px 4px rgba(0,0,0,0.8);
}
按类名或标签定制样式
若你的 WebVTT 文件中包含类名或 HTML 标签,可以针对性地设置样式。
例如,WebVTT 内容如下:
1 00:00:10.000 --> 00:00:13.000 这是中文 2 00:00:15.000 --> 00:00:18.000 普通字幕强调部分
对应的 CSS 可以是:
video::cue(.emphasis) {
color: yellow;
font-weight: bold;
}
video::cue(ruby rt) {
font-size: 0.6em;
color: pink;
}
浏览器兼容性注意事项
::cue 在现代浏览器中支持良好,但仍有细节差异:
- Chrome、Edge、Firefox 支持大部分功能
- Safari 对复杂选择器(如
::cue(ruby))支持较弱 - 某些属性如
padding或border可能无效
建议测试主要目标设备和浏览器,避免依赖不被广泛支持的特性。
基本上就这些。合理使用 ::cue 能显著提升视频字幕的可读性和美观度,尤其适合多语言内容或无障碍场景。










