html video 占位,如何让 HTML5 的 Video 标签中的 poster 占满整个区域?

在帮导师上传视频时,遇见了一个问题

为了让页面不那么空白,在放置 Video 标签时,我添加了 Poster 属性,从而使视频未播放时,可以正常的显示一张图片。一方面可以保持原有的体验不变(这里之前就是一张图片)。

但是当我真正放好了以后,发现一个问题,就是 Poster 无法完整的覆盖整个区域,大概就是填满我下方截图中所圈出的区域。两侧会有留白。而我的 CSS 是有边框的,所以会非常的丑。

一开始,我认为是 Poster 的比例问题,但是在我按照播放器的比例来切割 poster 尝试多次无果之后,我觉得问题不是出在这里。

4a9b3d3a08456de9df1319857df2199c.png

问题出在哪里我目前还不清楚,无空深究,这里只把解决方案贴出,具体的原因待以后有空再来深究。

可行方案

当前的方案是采用的 background 来实现的。

首先,删除 video 标签的 poster 属性,然后将其 preload 属性设置为 none,

接下来,添加 CSS 代码video {

background: transparent url('video-image.jpg') 50% 50% / cover no-repeat ;

}

实现后的效果如下

4e71a8e4ddea626fcb796fb088690b48.gif

跳变的原因不明,后续研究。

[title]Todo[/title]搞清楚为何 Poster 没有占满

搞清楚为何出现跳变

[title]拓展阅读[/title]

https://stackoverflow.com/questions/10826784/make-html5-video-poster-be-same-size-as-video-itself

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值