背景固定效果在許多的網(wǎng)站都能看到,今天我們一起來(lái)看一個(gè)關(guān)于CSS制作的頁(yè)面背景固定和滾動(dòng)效果,應(yīng)用非常的好用希望對(duì)各位帶來(lái)幫助。
如何創(chuàng)建一個(gè)不需要Javascript而僅僅只需CSS的background-attachment屬性就能實(shí)現(xiàn)頁(yè)面背景固定和滾動(dòng)效果。我們看到現(xiàn)在有很多的網(wǎng)站項(xiàng)目使用了視差效果,通過(guò)圖片和背景的動(dòng)態(tài)變化以及js腳本來(lái)產(chǎn)生視差,而今天我們只需要CSS即可。
HTML結(jié)構(gòu)很簡(jiǎn)單,一個(gè)class為.cd-fixed-bg的div元素用于放置固定背景圖,一個(gè)class為.cd-scrolling-bg的div元素用于滾動(dòng)的部分。我們可以放置多個(gè).cd-fixed-bg和.cd-scrolling-bg編組。
| 代碼如下 | 復(fù)制代碼 |
<main> <div class="cd-fixed-bg cd-bg-1"> <h1><!-- title goes here --></h1> </div> <div class="cd-scrolling-bg cd-color-2"> <div class="cd-container"> <p> Lorem ipsum dolor sit amet, consectetur adipisicing elit. Dolore incidunt suscipit similique, dolor corrupti cumque qui consectetur autem laborum fuga quas ipsam doloribus sequi... </p> </div> </div> ...多組div并列... </main> |
CSS
那么如何實(shí)現(xiàn)背景固定和滾動(dòng)效果呢?一開始,我想使用jQuery,也許我先應(yīng)該讓一個(gè)div固定位置,然后當(dāng)滾動(dòng)頁(yè)面時(shí)改變背景圖片,但是覺得不好弄。而簡(jiǎn)單的我們使用幾行CSS就能做到,將要固定的元素的背景background-size值設(shè)置為cover,background-attachment的值設(shè)置為fixed,這樣就實(shí)現(xiàn)了單頁(yè)面的背景固定和滾動(dòng)效果。請(qǐng)看以下代碼:
| 代碼如下 | 復(fù)制代碼 |
body, html, main { /* important */ height: 100%; } .cd-fixed-bg { min-height: 100%; background-size: cover; background-attachment: fixed; background-repeat: no-repeat; background-position: center center; } .cd-fixed-bg.cd-bg-1 { background-image: url("../img/cd-background-1.jpg"); } .cd-fixed-bg.cd-bg-2 { background-image: url("../img/cd-background-2.jpg"); } .cd-fixed-bg.cd-bg-3 { background-image: url("../img/cd-background-3.jpg"); } .cd-scrolling-bg { min-height: 100%; } |