::cue伪元素用于自定义视频字幕样式,通过video::cue设置颜色、字体、背景等外观,支持按WebVTT类名或ID细化样式,如video::cue(.highlight)高亮特定字幕,常用属性包括color、background、font-size、text-shadow等,需配合track标签启用字幕轨道,主流浏览器支持良好但部分旧版本有限制,不支持修改字幕位置及复杂布局。

CSS 的 ::cue 伪元素用于自定义视频中 WebVTT 字幕的显示样式。它主要应用于包含字幕的 元素,让你可以控制字幕的颜色、字体、背景、位置等外观。
基本语法与使用方式
::cue 可以直接作用于 video 元素,选择所有字幕文本。你也可以通过 WebVTT 中的类或 ID 进一步细化样式。
常见写法:-
video::cue { color: yellow; background: black; }—— 设置所有字幕的基本样式 -
video::cue(.highlight) { background: red; }—— 针对 WebVTT 中带有 .highlight 类的字幕 -
video::cue(#timestamp-1) { font-weight: bold; }—— 匹配特定 ID 的字幕行(较少用)
常用样式属性
你可以通过以下 CSS 属性来美化字幕:
- color:设置文字颜色
- background:添加背景色或半透明遮罩
- font-size 和 font-family:调整字体大小和类型
- text-shadow:增强可读性,例如加黑边
- text-align:控制字幕文本对齐方式
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 #000;
}
针对特定字幕内容定制
若你的 WebVTT 文件中使用了类名(如 {\highlight} 或 ),可通过 ::cue(类名) 单独设置样式。
立即学习“前端免费学习笔记(深入)”;
WebVTT 示例片段:1 00:00:10.000 --> 00:00:13.000 That wasCSS 样式:awesome !
video::cue(.highlight) {
color: yellow;
font-weight: bold;
}
注意事项与兼容性
::cue 在主流浏览器中支持良好(Chrome、Edge、Firefox 等),但部分旧版本可能有限制。
- 确保视频启用字幕轨道(
) - 某些浏览器不支持复杂的布局属性(如 flex 或 grid)在 ::cue 中使用
- 不能修改字幕的位置(如上屏/下屏),位置由播放器控制
- 建议始终测试不同设备和浏览器下的显示效果










