背景圖自適應鋪滿視窗
阿新 • • 發佈:2018-11-17
背景圖自適應
缺點:
當視窗拉伸縮小時,會失去效果!自己試一下就知道了。
直接上程式碼
這是html頁面
<body id="body">
...
</body>
css檔案如下:
#body{
background-image: url(./images/uploadBg.jpg);
position:absolute;
top: 0;
left: 0;
width:100%;
height:100%;
min-width: 1000px;
z-index :-10;
zoom: 1;
background-repeat: no-repeat;
background-size: cover;
-webkit-background-size: cover;
-o-background-size: cover;
background-position: center 0;
}
下面,我們來分析一下,css中每句程式碼的作用是什麼:
position:absolute;
top: 0;
left: 0;
這三句是讓整個div固定在螢幕的最上方和最左方
width :100%;
height:100%;
min-width: 1000px;
上面前兩句是讓整個div跟螢幕實現一模一樣的大小,從而達到全屏效果,而min-width是為了實現讓螢幕寬度在1000px以內時,div的大小保持不變,也就是說在這種情況下,縮放螢幕寬度時,圖片不要縮放(只有在1000px以內才有效)。
z-index:-10;
這個的目的是讓整個div在HTML頁面中各個層級的下方,正常情況下,第一個建立的層級z-index的值是0,所以如果我們這裡寫成-1也可以實現,不過這裡寫-10是確保整個div在最下面,因為如果頁面中層級太多了,有的時候用-1不一定在最下面,但如果寫成-100這樣大數字的也沒有什麼意義。用index:-10 以此能達到看上去像背景圖片,其實是一個最普通的div,只是層級關係變了,才讓人看上去看是背景圖片。
background-repeat: no-repeat;
上面這個是背景不要重複
background-size: cover;
-webkit-background-size: cover;
-o-background-size: cover;
上面三句是一個意思,就是讓圖片隨螢幕大小同步縮放,但是有部分可能會被裁切,不過不至於會露白,下面兩句是為chrome和opera瀏覽器作相容。
background-position: center 0;
上面這句的意思就是圖片的位置,居中,靠左對齊。