一張清晰漂亮的背景圖片能給網(wǎng)頁加分不少瓶蚂,設(shè)計師也經(jīng)常會給頁面的背景使用大圖,我們既不想圖片因為不同分辨率圖片變形宣吱,也不希望當在大屏的情況下,背景有一塊露白瞳别,簡而言之征候,就是實現(xiàn)能自適應屏幕大小又不會變形的背景大圖,而且背景圖片不會隨著滾動條滾動而滾動祟敛。
用CSS實現(xiàn)真的很簡單很簡單疤坝,下面我們來看一下第一種方法具體的代碼:
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跟屏幕實現(xiàn)一模一樣的大小埠巨,從而達到全屏效果历谍,而min-width是為了實現(xiàn)讓屏幕寬度在1000px以內(nèi)時,div的大小保持不變辣垒,也就是說在這種情況下望侈,縮放屏幕寬度時,圖片不要縮放(只有在1000px以內(nèi)才有效)勋桶。
z-index:-10;
這個的目的是讓整個div在HTML頁面中各個層級的下方脱衙,正常情況下侥猬,第一個創(chuàng)建的層級z-index的值是0,所以如果我們這里寫成-1也可以實現(xiàn)捐韩,不過這里寫-10是確保整個div在最下面退唠,因為如果頁面中層級太多了,有的時候用-1不一定在最下面荤胁,但如果寫成-100這樣大數(shù)字的也沒有什么意義瞧预。用index:-10 以此能達到看上去像背景圖片,其實是一個最普通的div寨蹋,只是層級關(guān)系變了松蒜,才讓人看上去看是背景圖片。
zoom: 1;
這個的目的是為了兼容IE瀏覽器
background-repeat: no-repeat;
上面這個是背景不要重復
background-size: cover;
-webkit-background-size: cover;
-o-background-size: cover;
上面三句是一個意思已旧,就是讓圖片隨屏幕大小同步縮放秸苗,但是有部分可能會被裁切,不過不至于會露白运褪,下面兩句是為chrome和opera瀏覽器作兼容惊楼。
background-position: center 0;
上面這句的意思就是圖片的位置,居中秸讹,靠左對齊
第二種方法的代碼
HTML代碼如下:
<div class="about-me">
![](./images/about-me.jpg)
<a class="introduction">
<h3>About me</h3>
</a>
</div>
scss代碼如下:
.about-me {
position: relative;
min-width: 1480px;
width: 100%;
height: 520px;
overflow: hidden;
img.me {
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: auto;
min-height: 520px;
z-index: 0;
}
.introduction {
display: block;
position: absolute;
left: 0;
bottom: 0;
right: 0;
top: 0;
width: 100%;
height: 100%;
color: #fff;
background: rgba(0, 0, 0, .6);
z-index: 2;
cursor: pointer;
h3 {
margin: 100px auto 140px;
width: 170px;
height: 90px;
line-height: 90px;
font-size: 36px;
border-bottom: 2px solid #0b6d99;
}
}
}