當(dāng)前位置:首頁 >  站長(zhǎng) >  建站經(jīng)驗(yàn) >  正文

使用視頻作為網(wǎng)頁背景的技術(shù)探討

 2014-05-31 10:24  來源: webhek   我來投稿 撤稿糾錯(cuò)

  域名預(yù)訂/競(jìng)價(jià),好“米”不錯(cuò)過

使用視頻作為網(wǎng)頁背景是件很酷的事情,但也是件困難的事情。CSS里的background-image屬性只能使用圖片、SVG、顏色或漸變色。但從技術(shù)講,我們是可以偽造出一種效果,讓視頻以背景的角色出現(xiàn)在其它HTML元素后面。這其中的難點(diǎn)是視頻要填充整個(gè)瀏覽器頁面,而且要響應(yīng)瀏覽器窗口大小的變化。

觀看演示1

視頻作為網(wǎng)頁背景的限制因素

在動(dòng)手編碼實(shí)現(xiàn)前,視頻作為網(wǎng)頁背景的有些問題我們要先考慮清楚:

并不是因?yàn)榧夹g(shù)上可行你就可以任意使用:作為背景的視頻內(nèi)容必須能增強(qiáng)頁面內(nèi)容的感染力,而不是因?yàn)槠粱蚣夹g(shù)上很酷就使用它。 作為背景的視頻應(yīng)該設(shè)置為自動(dòng)播放,而默認(rèn)狀態(tài)下應(yīng)該是關(guān)閉聲音;事實(shí)上,視頻里面最好不含聲音。(你可以在頁面上放置一個(gè)控制聲音的按鈕。) 背景視頻應(yīng)該有個(gè)替代圖片,當(dāng)瀏覽器不支持這種HTML5技術(shù)、視頻格式時(shí)用圖片替代。在等待背景視頻加載的過程中也應(yīng)該使用背景圖片占位。而對(duì)于一些手機(jī)移動(dòng)設(shè)備不支持視頻自動(dòng)播放,也應(yīng)該使用圖片替代。 視頻長(zhǎng)度很重要:太短了會(huì)明顯感到重復(fù)播放(背景視頻通常情況是重復(fù)播放的),太長(zhǎng)就變成了情節(jié)敘事,如果這樣,這段視頻應(yīng)該單獨(dú)放到頁面上播放。我建議視頻的長(zhǎng)度應(yīng)該是12-30秒之間。 帶寬是個(gè)大問題。視頻的體積應(yīng)很小,盡量的壓縮。同時(shí),它需要在不同尺寸設(shè)備上自動(dòng)的適應(yīng)屏幕大小。如果有可能,應(yīng)該使用JavaScript控制對(duì)不同的屏幕大小加載不同分辨率的背景視頻。背景視頻最好小于5M,如果你小于500K,那是更好。

對(duì)上面說的這些情況心里要有數(shù),下面我們來看看技術(shù)實(shí)現(xiàn)上的細(xì)節(jié)。

CSS代碼

使用HTML5里播放視頻的代碼方法視頻:

<video autoplay loop poster="polina.jpg" id="bgvid">

  <source src="polina.webm" type="video/webm">

  <source src="polina.mp4" type="video/mp4">

</video>

注意:這里擺放視頻格式的順序很重要,因?yàn)橛行┌姹镜墓雀铻g覽器里,如果.webm格式的視頻放在了其他視頻后面,視頻將無法播放。

我們使用視頻的第一幀圖像作為視頻的封面圖片,這樣,當(dāng)背景視頻一旦加載完成,我們可以看到很流暢的從圖片過度到背景視頻播放。

讓視頻擴(kuò)展到全屏的方法:

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; 

}

一些老式的瀏覽器無法播放這種格式的視頻,但它們?nèi)匀蛔R(shí)別標(biāo)記(除了IE8/6)。對(duì)于這些瀏覽器,我們使用了background-image來彌補(bǔ)它們的不支持,使用的圖片就是視頻的封面圖片。

你可能會(huì)發(fā)現(xiàn),在手機(jī)設(shè)備上,標(biāo)記是無法擴(kuò)展到全屏的,因?yàn)檫@些設(shè)備的屏幕長(zhǎng)寬比限制了視頻的擴(kuò)展。我在以后的文章里了會(huì)繼續(xù)探討這個(gè)問題。

視頻背景技術(shù)在 IE 8 上的問題

IE8不僅不能識(shí)別標(biāo)記,它對(duì)所有的HTML5標(biāo)記都不能識(shí)別,這是一個(gè)問題,對(duì)于IE8,我們至少要讓替代的背景圖片能顯示出來。為了達(dá)到這個(gè)目的,我們需要兩件事情:一行JavaScript代碼,一個(gè)CSS條件判斷注釋語句。

<!--[if lt IE 9]>

<script>

  document.createElement('video');

</script>

<![endif]-->

在你的CSS代碼里做如下的聲明,讓IE知道是一個(gè)block元素:

video { display: block; }

有了這句代碼,IE8至少能識(shí)別標(biāo)記,可以正確的顯示背景圖片。

使用JavaScript實(shí)現(xiàn)視頻背景

盡管使用HTML5/CSS3實(shí)現(xiàn)視頻背景要比使用JavaScript好一些,但不妨說一下,有一些jQuery插件和JavaScript工具包也能達(dá)到視頻背景的效果。下面是幾個(gè)演示:

觀看演示2

觀看演示3

結(jié)論

如果一個(gè)網(wǎng)站上使用了視頻背景,那會(huì)變得相當(dāng)?shù)目?,但是?ldquo;能力越大,責(zé)任越大”,請(qǐng)審慎明智的使用。

(英文:Create Fullscreen HTML5 Page Background Video.)

申請(qǐng)創(chuàng)業(yè)報(bào)道,分享創(chuàng)業(yè)好點(diǎn)子。點(diǎn)擊此處,共同探討創(chuàng)業(yè)新機(jī)遇!

相關(guān)標(biāo)簽
網(wǎng)頁視頻打不開

相關(guān)文章

熱門排行

信息推薦