一張清晰漂亮的背景圖片能給網頁加分不少,設計師也常會給頁面的背景使用大圖,我們既不想圖片因為不同解析度圖片變形,也不希望當在大螢幕的情況下,背景有一塊露白,簡而言之,就是實現能自適應螢幕大小又不會變形的背景大圖,而且背景圖片不會隨著滾動條滾動而滾動,實現背景圖片的自適應。
以下是用CSS實作的方法:
#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_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中每句程式碼的作用是什麼:
position:fixed; 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;
上面這句的意思就是圖片的位置,居中,靠左對齊。
以上是css背景圖片怎麼自適應的詳細內容。更多資訊請關注PHP中文網其他相關文章!