如何用CSS将播放器内的.vtt字幕定位至顶部?
实现VTT字幕显示在播放器顶部的方法
可以通过CSS调整或修改VTT字幕文件两种方式实现字幕置顶显示,以下是具体方案:
方法一:使用CSS调整
直接给::cue添加position、margin属性可能受浏览器默认样式限制失效,但可以利用::cue支持的line属性控制垂直位置,结合定位属性实现置顶:
video::cue { backgroundColor: 'green'; color: 'white'; /* 将字幕定位到顶部第一行 */ line: 0; position: absolute; top: 8px; /* 可自定义与顶部的间距 */ left: 50%; transform: translateX(-50%); /* 可选,实现水平居中 */ }
注:不同浏览器对::cue的属性支持略有差异,若上述代码不生效,可尝试微调属性值或使用浏览器特定前缀。
方法二:修改VTT字幕文件
直接在VTT文件的时间戳后添加位置参数,强制字幕显示在顶部,这种方式兼容性更强:
WEBVTT 00:00:00.000 --> 00:00:03.000 align:center line:0 这是顶部居中显示的字幕 00:00:03.000 --> 00:00:06.000 align:left line:0 position:10% 这是顶部左侧偏移10%的字幕
参数说明:
line:0:指定字幕显示在最顶部的行(数值越大,字幕位置越靠下)align:center/left/right:控制字幕水平对齐方式position:X%:自定义水平方向的偏移量
内容的提问来源于stack exchange,提问作者qweezz
相关产品推荐
相关产品推荐

