华厦飞燕 發表於 2019-9-25 15:16:00

HTML5实现首页动态视频背景

<p><span style="font-size: 16px">话不多说,先看效果图:</span></p>
<p><span data-cke-copybin-start="1">​<span class="cke_widget_wrapper cke_widget_inline cke_widget_image cke_image_nocaption cke_widget_focused cke_widget_selected" data-cke-widget-wrapper="1" data-cke-filter="off" data-cke-display-name="图像" data-cke-widget-id="5"><img class="has cke_widget_element" src="https://img-blog.csdnimg.cn/20190925144356298.gif" alt="" width="1200" height="897" src="https://img-blog.csdnimg.cn/20190925144356298.gif" data-cke-widget-data="{&amp;quot;hasCaption&amp;quot;:false,&amp;quot;src&amp;quot;:&amp;quot;https://img-blog.csdnimg.cn/20190925144356298.gif&amp;quot;,&amp;quot;alt&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;1200&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;897&amp;quot;,&amp;quot;lock&amp;quot;:true,&amp;quot;align&amp;quot;:&amp;quot;none&amp;quot;,&amp;quot;classes&amp;quot;:{&amp;quot;has&amp;quot;:1}}" data-cke-widget-upcasted="1" data-cke-widget-keep-attr="0" data-widget="image"><span class="cke_reset cke_widget_drag_handler_container"><img class="cke_reset cke_widget_drag_handler" title="点击并拖拽以移动" src="data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==" alt="" width="15" height="15" data-cke-widget-drag-handler="1"><span class="cke_image_resizer" title="点击并拖拽以改变尺寸">​<span data-cke-copybin-end="1">​</span></span></span></span></span></p>
<p><span style="font-size: 16px">炫酷吗?你想实现这种动态视频作为背景的首页吗?来,一起来学习,本文将带你一起实现H5动态视频背景;</span></p>
<p><span style="font-size: 16px">&nbsp;</span></p>
<p><span style="font-size: 16px">首先网上找一段清晰的视频下载下来,最好是MP4格式的;</span></p>
<p><span style="font-size: 16px">下载好了之后我们新建一个html文件来写代码:</span></p>
<p><span style="font-size: 16px">&nbsp;html代码:</span></p>
<div class="cnblogs_code">
<pre>      <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">video </span><span style="color: rgba(255, 0, 0, 1)">id</span><span style="color: rgba(0, 0, 255, 1)">="v1"</span><span style="color: rgba(255, 0, 0, 1)"> autoplay loop muted</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
            <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">source </span><span style="color: rgba(255, 0, 0, 1)">src</span><span style="color: rgba(0, 0, 255, 1)">="./video2.mp4"</span><span style="color: rgba(255, 0, 0, 1)"> type</span><span style="color: rgba(0, 0, 255, 1)">="video/mp4"</span><span style="color: rgba(0, 0, 255, 1)">/&gt;</span>
      <span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">video</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span></pre>
</div>
<p><span style="font-size: 16px">一个video标签包裹着,source代表来源文件,autoplay属性是自动播放,loop代表循环播放,muted代表无声播放;</span></p>
<p><span style="font-size: 16px">如果不加入autoplay属性是无法自动播放的,页面将会黑屏展示;</span></p>
<p><span style="font-size: 16px">css代码:</span></p>
<div class="cnblogs_code">
<pre><span style="color: rgba(128, 0, 0, 1)"> *</span>{<span style="color: rgba(255, 0, 0, 1)">
            margin</span>:<span style="color: rgba(0, 0, 255, 1)"> 0px</span>;<span style="color: rgba(255, 0, 0, 1)">
            padding</span>:<span style="color: rgba(0, 0, 255, 1)"> 0px</span>;
      }<span style="color: rgba(128, 0, 0, 1)">
      video</span>{<span style="color: rgba(255, 0, 0, 1)">
            position</span>:<span style="color: rgba(0, 0, 255, 1)"> fixed</span>;<span style="color: rgba(255, 0, 0, 1)">
            right</span>:<span style="color: rgba(0, 0, 255, 1)"> 0px</span>;<span style="color: rgba(255, 0, 0, 1)">
            bottom</span>:<span style="color: rgba(0, 0, 255, 1)"> 0px</span>;<span style="color: rgba(255, 0, 0, 1)">
            min-width</span>:<span style="color: rgba(0, 0, 255, 1)"> 100%</span>;<span style="color: rgba(255, 0, 0, 1)">
            min-height</span>:<span style="color: rgba(0, 0, 255, 1)"> 100%</span>;<span style="color: rgba(255, 0, 0, 1)">
            height</span>:<span style="color: rgba(0, 0, 255, 1)"> auto</span>;<span style="color: rgba(255, 0, 0, 1)">
            width</span>:<span style="color: rgba(0, 0, 255, 1)"> auto</span>;
            <span style="color: rgba(0, 128, 0, 1)">/*</span><span style="color: rgba(0, 128, 0, 1)">加滤镜</span><span style="color: rgba(0, 128, 0, 1)">*/</span>
            <span style="color: rgba(0, 128, 0, 1)">/*</span><span style="color: rgba(0, 128, 0, 1)">filter: blur(15px); //背景模糊设置 </span><span style="color: rgba(0, 128, 0, 1)">*/</span>
            <span style="color: rgba(0, 128, 0, 1)">/*</span><span style="color: rgba(0, 128, 0, 1)">-webkit-filter: grayscale(100%);</span><span style="color: rgba(0, 128, 0, 1)">*/</span>
            <span style="color: rgba(0, 128, 0, 1)">/*</span><span style="color: rgba(0, 128, 0, 1)">filter:grayscale(100%); //背景灰度设置</span><span style="color: rgba(0, 128, 0, 1)">*/</span><span style="color: rgba(255, 0, 0, 1)">
            z-index</span>:<span style="color: rgba(0, 0, 255, 1)">-11
      </span>}<span style="color: rgba(128, 0, 0, 1)">
      source</span>{<span style="color: rgba(255, 0, 0, 1)">
            min-width</span>:<span style="color: rgba(0, 0, 255, 1)"> 100%</span>;<span style="color: rgba(255, 0, 0, 1)">
            min-height</span>:<span style="color: rgba(0, 0, 255, 1)"> 100%</span>;<span style="color: rgba(255, 0, 0, 1)">
            height</span>:<span style="color: rgba(0, 0, 255, 1)"> auto</span>;<span style="color: rgba(255, 0, 0, 1)">
            width</span>:<span style="color: rgba(0, 0, 255, 1)"> auto</span>;
      } </pre>
</div>
<p><span style="font-size: 16px">css代码主要是进行定位和放大达到全屏播放的效果,主要是对video进行宽高之类的设置,还有别忘了要给z-index给个值,让放置在底部,只要小于0都可以,没有影响;</span></p>
<p><span style="font-size: 16px">就这样我们的动态视频背景就完成了,如果想设置播放速度,我们可以添加js代码(video标签加上id=“v1”属性):</span></p>
<div class="cnblogs_code">
<pre>      <span style="color: rgba(0, 0, 255, 1)">var</span> video= document.getElementById('v1'<span style="color: rgba(0, 0, 0, 1)">);
            video.playbackRate </span>= 1.5;</pre>
</div>
<p><span style="font-size: 16px">那么如果我们想要添加内容到页面上怎么办呢?</span></p>
<div class="cnblogs_code">
<pre>      <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">video </span><span style="color: rgba(255, 0, 0, 1)">id</span><span style="color: rgba(0, 0, 255, 1)">="v1"</span><span style="color: rgba(255, 0, 0, 1)"> autoplay loop muted</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
            <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">source </span><span style="color: rgba(255, 0, 0, 1)">src</span><span style="color: rgba(0, 0, 255, 1)">="./video2.mp4"</span><span style="color: rgba(255, 0, 0, 1)"> type</span><span style="color: rgba(0, 0, 255, 1)">="video/mp4"</span><span style="color: rgba(0, 0, 255, 1)">/&gt;</span>
      <span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">video</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>   
      <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">h1 </span><span style="color: rgba(255, 0, 0, 1)">style</span><span style="color: rgba(0, 0, 255, 1)">="color:white"</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>123465<span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">h1</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span></pre>
</div>
<p><span style="font-size: 16px">是的,在video标签外部添加,然后我们的效果图就是这样的(由于博客对图片大小有限制,所以截屏时间没有很长):</span></p>
<p><span style="font-size: 16px"><span data-cke-copybin-start="1">​<span class="cke_widget_wrapper cke_widget_inline cke_widget_image cke_image_nocaption cke_widget_focused cke_widget_selected" data-cke-widget-wrapper="1" data-cke-filter="off" data-cke-display-name="图像" data-cke-widget-id="0"><img class="has cke_widget_element" src="https://img-blog.csdnimg.cn/20190925145949109.gif" alt="" width="1200" height="897" src="https://img-blog.csdnimg.cn/20190925145949109.gif" data-cke-widget-data="{&amp;quot;hasCaption&amp;quot;:false,&amp;quot;src&amp;quot;:&amp;quot;https://img-blog.csdnimg.cn/20190925145949109.gif&amp;quot;,&amp;quot;alt&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;1200&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;897&amp;quot;,&amp;quot;lock&amp;quot;:true,&amp;quot;align&amp;quot;:&amp;quot;none&amp;quot;,&amp;quot;classes&amp;quot;:{&amp;quot;has&amp;quot;:1}}" data-cke-widget-upcasted="1" data-cke-widget-keep-attr="0" data-widget="image"><span class="cke_reset cke_widget_drag_handler_container"><img class="cke_reset cke_widget_drag_handler" title="点击并拖拽以移动" src="data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==" alt="" width="15" height="15" data-cke-widget-drag-handler="1"><span class="cke_image_resizer" title="点击并拖拽以改变尺寸">​<span data-cke-copybin-end="1">​</span></span></span></span></span></span></p>
<p><span style="font-size: 16px"><span data-cke-copybin-start="1"><span class="cke_widget_wrapper cke_widget_inline cke_widget_image cke_image_nocaption cke_widget_focused cke_widget_selected" data-cke-widget-wrapper="1" data-cke-filter="off" data-cke-display-name="图像" data-cke-widget-id="0"><span class="cke_reset cke_widget_drag_handler_container"><span class="cke_image_resizer" title="点击并拖拽以改变尺寸"><span data-cke-copybin-end="1">是不是用H5实现这种动态视频背景效果很简单?赶紧一起来试试吧!!!</span></span></span></span></span></span></p>

</div>
<div id="MySignature" role="contentinfo">
    <div>作者:有梦想的咸鱼前端</div>
<div>出处:https://www.cnblogs.com/dengyao-blogs/</div>
<div>本文版权归作者和博客园共有,欢迎转载,但必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。 </div><br><br>
来源:https://www.cnblogs.com/dengyao-blogs/p/11584803.html
頁: [1]
查看完整版本: HTML5实现首页动态视频背景