大概原理就是将视频的堆叠顺序即z-index设置小一点,可以设置为负值,然后将视频position设为fixed,宽高都设为100%即可,大概代码如下:
video{
position: fixed
right: 0px
bottom: 0px
min-width: 100%
min-height: 100%
height: auto
width: auto
/*加滤镜*/
/*filter: blur(15px)//背景模糊设置 */
/*-webkit-filter: grayscale(100%)*/
/*filter:grayscale(100%)//背景灰度设置*/
z-index:-11
}
第一步:准备工作先准备好一个视频
第二步:引入视频这里我们需要用到了video/标签,然后在source里面写视频的路径,autoplay用来使其自动播放,muted用来使其静音,loop为循环播放
<video id="v1" autoplay muted loop style="width: 100%"> <source src="mp4/loading.mp4"></video>
第三步:调节视频,使其适应屏幕以上的步骤还不能满足我们的需求,这个时候我们会发现有滚动条,而且视频会遮挡我们要显示的内容,可这远远不是我们想要的结果啊,不怕,有我呢
video{ position: fixed right:0 bottom: 0 min-width: 100% min-height: 100% width: auto height: auto z-index: -9999 /*灰色调*/ /*-webkit-filter:grayscale(100%)*/ }这样就OK了,-webkit-filter:grayscale(100%)为调节会色调的,同样适用于img
第四步:视频播放速度可以利用video的playbackRate属性来控制video的播放速度,如果要让背景视频以慢速播放的话可以加上下面的javascript
<script> var video= document.getElementById('v1') video.playbackRate = 0.5</script>最近接到一个应用场景:将.FLV格式视频文件作为页面背景。网上直接查将.FLV格式文件作为页面背景方法不太明确,突然想到了用H5的新标签video,于是找到了将视频作为H5页面的方法:
(1)首先新建一个带video标签的H5页面,将video标签的source里写上视频链接地址(先放入,MP4格式的demo文件)。
页面在chrome浏览器下看是一个静态画面,给video加上autoplay自动播放属性属性,加上循环播放的属性loop,以及不需要声音属性muted,这样视频就安放好了。
(2)这个时候video并没有铺满整个屏幕,在body里添加样式margin:0 autol时视频横向铺满整个页面;接下来给video添加样式,让它作为页面背景。
其中z-index: -99来设置video的层级,-webkit-filter:grayscale(100%)来设置视频的灰色调属性,百分比越低灰度值越高。
(3)测试完上面的OK后,确定video属性可以将视频作为H5页面背景,然后查了一下video标签可以播放的视频格式,目前,<video>元素支持三种视频格式:MP4、WebM、Ogg。那把.flv格式转成.mp4格式的文件就可以搞定了需求了。
通过做上面的需求,又将video标签属性的方方面面总结了一下:
1、浏览器支持:
IE9浏览器及以上、Chrome浏览器4及以上、FF浏览器3.5及以上、safari4.0浏览器及以上、opera浏览器
10.5及以上;
2、<video>元素支持三种视频格式:
MP4、WebM、Ogg。但是似乎各个浏览器对MP4格式的支持性最好。
MP4格式 MIME-type=video/mp4
WebM格式MIME-type=video/WebM
Ogg格式MIME-type=video/Ogg
3、video的可选属性
(1) src属性和poster属性:video属性的width,height属性就是来设置视频的宽高属性,src属性就是用来引入视频的路径,poster是用来指定一张图片,作为视频的封面。
(2) preload属性
此属性用于定义视频是否预加载。属性有三个可选择的值:none、metadata、auto。如果不使用此属性,默认为auto。
None:不进行预加载。使用此属性值,可能是页面制作者认为用户不期望此视频,或者减少HTTP请求。
Metadata:部分预加载。使用此属性值,代表页面制作者认为用户不期望此视频,但为用户提供一些元数据
(包括尺寸,第一帧,曲目列表,持续时间等等)。
Auto:全部预加载
(3) controls属性
controls="controls"表明需要不需要有控制栏,控制栏须包括播放暂停控制,播放进度控制,音量控制等等。
(4) loop属性
一目了然,loop属性用于指定视频是否循环播放,同样是一个布尔属性。
(5) autoplay属性
Autoplay属性用于设置视频是否自动播放,是一个布尔属性。当出现时,表示自动播放,去掉是表示不自动播放。
(6) source标签
Source标签用于给媒体(因为audio标签同样可以包含此标签,所以这儿用媒体,而不是视频)指定多个可选择的(浏览器最终只能选一个)文件地址,且只能在媒体标签没有使用src属性时使用。就是防止一个浏览器不能播放一种格式文件的时候,可以播放相同文件下其它格式文件。
此标签包含src、type、media三个属性。
src属性:用于指定媒体的地址,和video标签的一样。
Type属性:用于说明src属性指定媒体的类型,帮助浏览器在获取媒体前判断是否支持此类别的媒体格式。
Media属性:用于说明媒体在何种媒介中使用,不设置时默认值为all,表示支持所有媒介。你想到<style>标签的media属性了么?
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)