1. 程式人生 > >背景圖自適應鋪滿視窗

背景圖自適應鋪滿視窗

背景圖自適應

缺點:
當視窗拉伸縮小時,會失去效果!自己試一下就知道了。

在這裡插入圖片描述
   直接上程式碼

這是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;

上面這句的意思就是圖片的位置,居中,靠左對齊。