一張清晰漂亮的背景圖片能給網頁加分很多,設計師也常常會給頁面的背景使用大圖,咱們既不想圖片由於不一樣分辨率圖片變形,也不但願當在大屏的狀況下,背景有一塊露白,簡而言之,就是實現能自適應屏幕大小又不會變形的背景大圖,並且背景圖片不會隨着滾動條滾動而滾動。css
HTML:html
<!DOCTYPE html> <html> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8"/> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <title>title</title> </head> <body> <div class="wrapper"> <!--背景圖片--> <div id="web_bg" style="background-image: url(./img/bg.jpg);"></div> <!--其餘代碼 ... --> </div> </body> </html>
CSS:web
#web_bg{ position:fixed; top: 0; left: 0; width:100%; height:100%; min-width: 1000px; z-index:-10; zoom: 1; background-color: #fff; background-repeat: no-repeat; background-size: cover; -webkit-background-size: cover; -o-background-size: cover; background-position: center 0; }
下面,咱們來分析一下,css中每句代碼的做用是什麼:chrome
position:fixed; top: 0; left: 0;
這三句是讓整個div固定在屏幕的最上方和最左方瀏覽器
width:100%; height:100%; min-width: 1000px;
上面前兩句是讓整個div跟屏幕實現如出一轍的大小,從而達到全屏效果,而min-width是爲了實現讓屏幕寬度在1000px之內時,div的大小保持不變,也就是說在這種狀況下,縮放屏幕寬度時,圖片不要縮放(只有在1000px之內纔有效)。app
z-index:-10;
這個的目的是讓整個div在HTML頁面中各個層級的下方,正常狀況下,第一個建立的層級z-index的值是0,因此若是咱們這裏寫成-1也能夠實現,不過這裏寫-10是確保整個div在最下面,由於若是頁面中層級太多了,有的時候用-1不必定在最下面,但若是寫成-100這樣大數字的也沒有什麼意義。用index:-10 以此能達到看上去像背景圖片,實際上是一個最普通的div,只是層級關係變了,才讓人看上去看是背景圖片。ui
background-repeat: no-repeat;
上面這個是背景不要重複url
background-size: cover; -webkit-background-size: cover; -o-background-size: cover;
上面三句是一個意思,就是讓圖片隨屏幕大小同步縮放,可是有部分可能會被裁切,不過不至於會露白,下面兩句是爲chrome和opera瀏覽器做兼容。spa
background-position: center 0;
上面這句的意思就是圖片的位置,居中,靠左對齊。設計