::cue伪元素用于自定义视频字幕样式,通过video::cue设置颜色、字体、背景等外观,支持按WebVTT类名或ID细化样式,如video::cue(.highlight)高亮特定字幕,常用属性包括color、background、font-size、text-shadow等,需配合track标签启用字幕轨道,主流浏览器支持良好但部分旧版本有限制,不支持修改字幕位置及复杂布局。
css 的 ::cue 伪元素用于自定义视频中 WebVTT 字幕的显示样式。它主要应用于包含字幕的 <video>
元素,让你可以控制字幕的颜色、字体、背景、位置等外观。
基本语法与使用方式
::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}
或 <c.highlight>
),可通过 ::cue(类名) 单独设置样式。
立即学习“前端免费学习笔记(深入)”;
WebVTT 示例片段:
1 00:00:10.000 --> 00:00:13.000 That was <c.highlight>awesome</c.highlight>!
CSS 样式:
video::cue(.highlight) { color: yellow; font-weight: bold; }
注意事项与兼容性
::cue 在主流浏览器中支持良好(chrome、edge、firefox 等),但部分旧版本可能有限制。
- 确保视频启用字幕轨道(
<track kind="subtitles" src="..." srclang="zh">
) - 某些浏览器不支持复杂的布局属性(如 flex 或 grid)在 ::cue 中使用
- 不能修改字幕的位置(如上屏/下屏),位置由播放器控制
- 建议始终测试不同设备和浏览器下的显示效果
基本上就这些。掌握 ::cue 后,你可以让网页视频字幕更贴合整体设计风格,提升观看体验。
评论(已关闭)
评论已关闭