标签:之间 细节 背景 source ie8 type ring 支持 显示
在动手编码实现前,视频作为网页背景的有些问题我们要先考虑清楚:
对上面说的这些情况心里要有数,下面我们来看看技术实现上的细节。
使用HTML5里播放视频的代码方法视频:
<video autoplay loop poster="polina.jpg" id="bgvid">
<source src="polina.webm" type="video/webm">
<source src="polina.mp4" type="video/mp4">
</video>
注意:这里摆放视频格式的顺序很重要,因为有些版本的谷歌浏览器里,如果.webm
格式的视频放在了其他视频后面,视频将无法播放。
我们使用视频的第一帧图像作为视频的封面图片,这样,当背景视频一旦加载完成,我们可以看到很流畅的从图片过度到背景视频播放。
让视频扩展到全屏的方法:
video#bgvid {
position: fixed; right: 0; bottom: 0;
min-width: 100%; min-height: 100%;
width: auto; height: auto; z-index: -100;
background: url(polina.jpg) no-repeat;
background-size: cover;
}
一些老式的浏览器无法播放这种格式的视频,但它们仍然识别<video>
标记(除了IE8/6)。对于这些浏览器,我们使用了background-image
来弥补它们的不支持,使用的图片就是视频的封面图片。
你可能会发现,在手机设备上,<video>
标记是无法扩展到全屏的,因为这些设备的屏幕长宽比限制了视频的扩展。我在以后的文章里了会继续探讨这个问题。
IE8不仅不能识别<video>
标记,它对所有的HTML5标记都不能识别,这是一个问题,对于IE8,我们至少要让替代的背景图片能显示出来。为了达到这个目的,我们需要两件事情:一行JavaScript代码,一个CSS条件判断注释语句。
<!--[if lt IE 9]>
<script>
document.createElement(‘video‘);
</script>
<![endif]-->
在你的CSS代码里做如下的声明,让IE知道<video>
是一个block元素:
video { display: block; }
有了这句代码,IE8至少能识别<video>
标记,可以正确的显示背景图片。
标签:之间 细节 背景 source ie8 type ring 支持 显示
原文地址:http://www.cnblogs.com/wanghaiyang/p/6206337.html