播放器右上角挂了一个「HD」角标,正好压在全屏按钮上,手机上点十次只成功两次,其余都触发了角标上的链接。碰到这种情况,我一般先确认改动有没有真的生效。

原因不复杂,角标用绝对定位且 z-index 20,全屏按钮在原生控件内部,层级更低,点击被角标接走。角标本身没有设 pointer-events: none。

「全屏按钮遮挡」这类改动最怕改一半,回滚脚本先准备好,再动生产。别只看报错的最后一行,往上看几行,真正的起因通常在上面。

.badge { pointer-events: none; position: absolute; top: 8px; right: 56px; }
.player:fullscreen { --ctrl-h: 48px; }

同类问题如果隔一段时间又出现,多半是某个定时任务或重启流程把改动冲掉了。把这次用到的命令存进笔记,比记住结论有用,换个环境还能照着走。

改完隔一天再看一次,当场正常不代表能稳住。

具体做法是,给纯展示角标加 pointer-events: none;角标位置往左让出 48px 避开控件区;自定义全屏按钮放进控件条 不要浮在视频上。

最后用这个标准收尾,全屏按钮可以稳定点中,连点五次都能进入全屏。

作者 9823189