background-position 用法詳細介紹

出處:http://blog.csdn.net/JeamKing/article/details/5617088

語法: 
background-position : length || length 
background-position : position || position 
取值: 
length  : 百分數 | 由浮點數字和單位標識符組成的長度值。請參閱 長度單位  
position  : top | center | bottom | left | center | right 

說明: 
設置或檢索對象的背景圖像位置。必須先指定 background-image 屬性。
該屬性定位不受對象的補丁屬性( padding )設置影響。
默認值爲: 0% 0% 。此時背景圖片將被定位於對象不包括補丁( padding )的內容區域的左上角。
如果只指定了一個值,該值將用於橫座標。縱座標將默認爲 50% 。如果指定了兩個值,第二個值將用於縱座標。
如果設置值爲 right center ,因爲 right 作爲橫座標值將會覆蓋 center 值,所以背景圖片將被居右定位。
對應的腳本特性爲 backgroundPosition。

注: 本文中使用的圖片大小爲 300px*120px,爲了能很清晰的表達圖形的哪部分被隱藏了,按照圖片的大小平均分成了9等份。同時背景圖片容器區域繪製出綠色邊框清晰顯示容器的範圍。
1、background-position:0 0;
背景圖片的左上角將與容器元素的左上角對齊。該設置與background-position:left top;或者background-position:0% 0%;設置的效果是一致的。例如:

    .container{
        width:300px;
        height:150px;
        background:transparent url(bg.jpg) no-repeat scroll 0 0;
        border:5px solid green;
    }

效果如下圖1:

                                        圖 1

2、該屬性定位不受對象的補丁屬性( padding )設置影響。

例如,我們給容器元素增加padding值,背景圖片的左上角還是與容器元素的左上角對齊。在此處只是影響到了容器元素的高度和寬度。

    .container{
        width:300px;
        height:150px;
        background:transparent url(bg.jpg) no-repeat scroll 0 0;
        border:5px solid green;
        padding:50px;
    }

效果如圖2:

                                                   圖 2

3、background-position:-70px -40px;

圖片以容器左上角爲參考向左偏移70px,向上偏移 40px,示例:

    .container{
        width:300px;
        height:150px;
        background:transparent url(bg.jpg) no-repeat scroll -70px -40px;
        border:5px solid green;
    }

效果如圖3:

                                  圖 3

4、background-position:70px 40px;

圖片以容器左上角爲參考向右偏移70px,向下偏移 40px,示例:

    .container{
        width:300px;
        height:150px;
        background:transparent url(bg.jpg) no-repeat scroll 70px 40px;
        border:5px solid green;
    }

效果如圖4:

                                   圖 4

5、background-position:50% 50%;

圖片水平和垂直居中。與 background-position:center center;效果等同。

等同於x:{容器(container)的寬度—背景圖片的寬度}*x百分比,超出的部分隱藏。
等同於y:{容器(container)的高度—背景圖片的高度}*y百分比,超出的部分隱藏。

 例如: .container{
        width:300px;
        height:150px;
        background:transparent url(bg.jpg) no-repeat scroll 50% 50%;
        border:5px solid green;
    }

其x=(300-210)*50%=45px;

y=(150-120)*50%=15px;

效果如圖5:

                                     圖 5

由於超出部分別往兩端延伸,所以我們可以先製作一張寬度足夠寬圖片設置水平值爲50%,這樣可以用來適應不同的瀏覽器,使得圖片水平充滿瀏覽器窗口並且居中。替代margin:50 auto的功能。

6、background-position:-50% -50%;

等同於x:-{容器(container)的寬度—背景圖片的寬度}*x百分比,超出的部分隱藏。
等同於y:-{容器(container)的高度—背景圖片的高度}*y百分比,超出的部分隱藏。

    .container{
        width:300px;
        height:150px;
        background:transparent url(bg.jpg) no-repeat scroll -50% -50%;
        border:5px solid green;
    }

效果如圖6:

                                     圖 6

7、background-position:100% 100%;

圖片處於容器元素的右下角,與 background-position:right bottom;效果等同。

示例:

    .container{
        width:300px;
        height:150px;
        background:transparent url(bg.jpg) no-repeat scroll 100% 100%;
        border:5px solid green;
    }

效果如圖7:

                                    圖 7

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章