标签本身不渲染也不响应交互,仅声明字幕轨道;适配平板需通过::cue样式控制、安全区留白、触控区域达标及WebVTT文件合规等综合措施实现。

标签本身不参与渲染,也不响应点击或触控——它只是为 提供字幕数据的容器。所谓“适配平板”,真正要动的是字幕显示层(::cue 伪元素)、视频容器布局、触控反馈逻辑,以及 iOS/iPadOS 对字幕渲染的特殊限制。
字幕显示层 ::cue 必须脱离默认样式硬约束
iOS 和 iPadOS 的 Safari 对 ::cue 的支持有限:不支持 transform、filter、部分 font-variant,且默认行高和内边距在横屏下极易被裁切。直接写 font-size: 16px 在 iPad Pro 横屏(2048×1536)上会显得过小,竖屏(1536×2048)又可能顶到状态栏。
- 必须用
rem 或 vh 替代 px:font-size: clamp(1.1rem, 4vh, 1.5rem); —— 确保最小可读、最大不溢出
- 禁用
line-height: normal,显式设 line-height: 1.4,避免不同设备解析差异导致行距崩塌
- 外层加
text-shadow: 0 2px 4px rgba(0,0,0,0.6),弥补 iPad Retina 屏幕下文字抗锯齿弱的问题
- 别依赖
::cue(:first-line) 做特殊样式——iPadOS 17+ 才开始稳定支持,旧版静默忽略
视频容器需主动接管字幕区域高度与定位
原生字幕轨道()由浏览器控制渲染位置,无法保证在 iPad 上始终停在安全区(safe area)。尤其横屏时,刘海/圆角区域常把字幕切掉一半。
- 给
父容器设 padding-bottom: env(safe-area-inset-bottom),为底部字幕留白
- 用
position: relative + z-index 显式提升字幕层层级,防止被自定义控件遮挡
- 若需完全自定义字幕 UI(如双语、弹幕),应弃用
,改用 JS 解析 WebVTT 后动态插入 ,并监听
timeupdate 同步渲染
- 避免对
设 object-fit: cover 后再用 transform: scale() 调整大小——这会让 ::cue 坐标映射错乱,字幕漂移
触控操作字幕开关时,按钮点击区必须达标
很多页面把字幕开关做成右下角小图标按钮(),但在 iPad 上手指一戳就失焦或误触进度条,主因是点击区物理尺寸不达标。
DeepBI DHTML 页面生成器
生成可在 deepbi 沙箱 iframe 内运行或作为独立文件运行的交互式 HTML 页面,使用 `window.deepbi` JS SDK 实现数据查询、空间管理、文件浏览及用户操作。当用户提出以下需求时启用该能力:
- 创建 KPI 仪表盘、数据表格、文件浏览器、成员列表、管理页面;
- 明确要求“转成 dhtml”、“转译成 HTML”、“把 XX 页面转成……”、“控制台页面”、“管理后台”、“DeepBI 页面迁移”;
- 提及位于 `apps/console/src/featur
下载
- 该按钮必须满足
min-width: 48px; min-height: 48px;,不能只靠 SVG 图标尺寸撑开
- 用
padding 扩展点击区,而非仅调大 font-size 或 width/height
- 禁用
user-scalable=no 的 viewport 配置——否则双击缩放失效,用户无法手动放大字幕文本
- 监听
touchstart 而非 click,并在回调中立即 event.preventDefault(),避免 iOS 300ms 延迟和误触发滚动
iPadOS 对 WebVTT 文件加载有静默限制
当字幕文件通过 src 属性加载(),iPad Safari 在以下情况会静默失败,控制台无报错,字幕直接不出现:
- WebVTT 文件未以
text/vtt MIME 类型返回(Nginx/Apache 需显式配置)
- 文件路径含中文或空格,且未做
encodeURIComponent 编码(src="字幕.vtt" → src="%E5%AD%97%E5%B9%95.vtt")
- VTT 内容首行不是
WEBVTT(注意大小写和换行),或含 BOM 头(UTF-8 with BOM 在 iPad 上解析失败)
- 跨域请求未带
crossorigin="anonymous" 属性,且服务端未返回 Access-Control-Allow-Origin
最易被忽略的是:iPad 不像桌面 Chrome,它不会在开发者工具 Network 面板里标记“字幕加载失败”,只会安静地跳过——必须真机连接 Safari Web Inspector 才能看到 404 或 MIME 错误。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!