网页设计中html5的video 标签如何写才能使得视频文件填满整个div

网页设计中html5的video 标签如何写才能使得视频文件填满整个div,第1张

想要video能自动填充慢父div的大小,只要给video标签加上style="width= 100%; height=100%; object-fit: fill"即可。

object-fit语法

object-fit属性的语法非常的简单:

object-fit:fill | contain | cover | none | scale-down

object-fit取值说明

object-fit主要适合于替换元素,比如:<video>、<object>、<img>、<input type="image">、<svg>、<svg:image>和<svg:video>等。其默认值为fill。object-fill取值的说明如下:

fill:此值为boject-fit的默认值,替换内容的大小被设置为填充元素的内容框,也就是说,元素的内容扩大到完全填充容器的外形尺寸,即使这打破其内在的宽高比。

contain:替换元素内容大小保持长宽比例填充元素内容容器,其具体对象大小被解析为一个包含元素的宽度和高度。也就是说,如果你在替换元素上设置一个明确的高度和宽度,此值将导致内容大小,完全在固定的比例显示,但仍在元素尺寸内显示。

cover:替换元素内容大小保持长宽比例填充元素内容容器,其具体对象大小被解析为覆盖整个元素的宽度和高度。也就是说,替换元素内容大小保持长宽比,但改变宽度和高度,以便完全覆盖内容元素。

none:替换元素内容不调整大小以适应内部元素的容器,内容完全忽略设置在元素上的任何高度和权重,并且仍在元素尺寸内显示。

scale-down:当内容大小设置了non或contain,将导致具体对象变得更小。

在html网页中添加视频过程如下:

1、如图,在项目文件中放置mp4格式的视频,因为H5只支持这类视频,avi格式的不可以。

2、然后在自己的HTML编辑软件建一个HTML5的文件,这里就用Hbuilder建立了。

3、然后添加video元素即可插入视频,最好用autoplay设置自动播放,controls设置控制栏。

4、source可以连接对应的视频文件资源,记得视频资源路径要写正确。

5、这样,等到HTML网页加载之后视频即可自动的播放。

6、并且左边有播放按钮,视频进度控制条等工具。

7、右边可以全屏播放,调节声音大小,如果是放在服务器上面还可以下载哟,非常方便。

最常用的向HTML中插入视频的方法有两种,一种是古老的<object></object>标签,一种是html5中的<video></video>标签。

前者的兼容性没得说,但是使用起来不太方便,后者使用起来很方便,但是兼容性让人头疼。

虽然后者兼容性存在很多问题,但是因为使用很方便,符合未来网页设计发展的趋势,因此我们以后者为主要的插入视频的方法,因为它兼容性的问题,前者作为辅助。

可以用video标签插入视频。

1、新建html文件,在body标签中添加video标签,为video标签添加“src”属性,属性值为视频的位置,这时视频就被插入到网页中去了;

2、为video标签添加“controls”属性,不需要添加属性值,这时视频中将会出现视频控制按钮;

3、video默认的宽高是视频自身的宽高,可以通过添加“width”和“height”属性自定义视频的宽高;

4、为video添加“autoplay”属性,属性值为“autoplay”,这时当视频加载完成时会自动播放。

移动端浏览器中的video元素是比较特别的,早期无论是在iOS还是Android的浏览器中,它都位于页面的最顶层,无法被遮盖。后来这个问题在iOS下得到了解决,但是Android的浏览器则问题依旧。X5是腾讯基于Webkit开发的渲染引擎,它提供了一种名叫「同层播放器」的特殊video元素以解决遮盖问题。

同层播放器的使用方式跟普通的video元素差别不大,只是需要加上两个X5的自定义属性:「 x5-video-player-type 」和「 x5-video-player-fullscreen 」。

下面做一个测试页面嵌入同层播放器:

点击播放后,video元素占全屏,视频部分默认居中显示:

按照官方文档所述,只要修改video元素的「 object-position 」属性,就可以修改视频部分的显示位置,但实际上还要把video元素的宽高设成 屏幕的宽高 才行:

效果如下(右图):

注意把video元素的高设为屏幕高度时,要用「windowscreenheight」而不能用「documentdocumentElementclientHeight」,因为后者不包含导航栏高度,将会导致无法满屏(如上方左图所示)。

下面加上标题栏:

然而,点击播放进入全屏状态后,标题栏就消失不见了。既然同层播放器是可以被遮盖的,那就试试绝对定位吧:

标题栏确实遮挡住视频了,但是就多了一层 黑色的渐变 以及 左右两个按钮 (下方左图)。据官方文档所述,这些都是无法移除的。

接下来要做的是把视频下移,使整体UI与进入全屏前保持一致(上方右图):

下一步是在video元素后面添加其他内容:

然而,进入全屏状态后,内容元素向上偏移了(下方左图)。

明显地,该元素的位置也要下移标题栏的高度:

接下来尝试简单的点击事件响应:

此时进入全屏状态后点击内容元素是没有任何反应的,因为video元素占满屏,而它的层级偏高,把内容元素挡住了。知道问题之后,解决方案也很简单,只要把main元素的层级调高就好了:

因为同层播放器的全屏状态只能指定一个方向(默认为竖屏),所以播放后还是会强制竖屏。此时整体效果都不太对劲:

因为横屏状态的宽高与竖屏状态下的刚好相反,所以才导致恢复竖屏时的UI异常。因此,进入全屏时要判断一下宽高,如果宽大于高,则将其交换:

如果播放前页面有滚动条,进入全屏状态下可以滚动吗?答案是确实可以滚动,但是与其叫滚动,不如叫抖动,具体效果可以自己尝试。总之进入全屏状态后就不要用页面的滚动了,而是用局部滚动。此外还应注意,因为调高了层级,如果内容元素太高,就会挡住视频的控制条。

最后一个问题是,播放某些格式的视频时,进度条会出现错乱,即使返回非全屏模式时也还是错乱。

本文也发布在作者个人博客: X5同层播放器试用报告 | 前端开发 | Heero's Blog

首先下载videojs,百度一下就能找到。

这个是下载后的目录。

先把要用到的js\css\swf都加载到html页面上。如:

<link href="video-js/video-jscss" rel="stylesheet" type="text/css">

<script src="video-js/videojs"></script>

<script>

videojsoptionsflashswf = "video-js/video-jsswf";

</script>

加入下面的代码:

<video

id="my_video_1" class="video-js vjs-default-skin" controls  

 preload="auto"width="640"height="480"poster="video-js/my_video_posterpng"  

 data-setup="{}">

<source src="Wildlifemp4" type='video/mp4'>

</video>

只要记住:修改width="640" height="480"来改变视频显示大小,修改src="Wildlifemp4"来改变要显示的视频。

然后打开html文件查看效果吧,它有暂停、音量控制、全屏等功能,还有好多其他功能。

以上就是关于网页设计中html5的video 标签如何写才能使得视频文件填满整个div全部的内容,包括:网页设计中html5的video 标签如何写才能使得视频文件填满整个div、html网页中怎么添加视频、网页设计中,用<video>添加视频,但老是播放不了_html5video不能自动播放等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9734715.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存