在網上搜了好多demo:可總有這樣那樣的一些小瑕疵,試過幾次后發現這樣效果是最好的
html:
<div class='bg'>
<img src="image/bk02.jpg" alt="">
</div>
<h1>這是一個DEMO</h1>
CSS:
html,body{overflow: hidden;}
.bg{
width: 100%;
height: 100%;
top:0;
left: 0;
z-index: -10;
position: absolute;
background-size: cover;
-webkit-background-size: cover;
-o-background-size: cover;
background-repeat: no-repeat;
}
.bg img{display: block;outline: none;border:0;height: 100%;width: 100%;
}
h1{
color:#C2602C;
text-align: center;
}
下面這些解釋是復制粘貼的,與我自己的代碼有些出入大部分解釋還是有的:來源作者:湯利利 http://www.jianshu.com/p/5480cd1a5d89
下面,我們來分析一下,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,只是層級關系變了,才讓人看上去看是背景圖片。
zoom: 1;
這個的目的是為了兼容IE瀏覽器
background-repeat: no-repeat;
上面這個是背景不要重復
background-size: cover;
-webkit-background-size: cover;
-o-background-size: cover;
上面三句是一個意思,就是讓圖片隨屏幕大小同步縮放,但是有部分可能會被裁切,不過不至於會露白,下面兩句是為chrome和opera瀏覽器作兼容。
background-position: center 0;
上面這句的意思就是圖片的位置,居中,靠左對齊