天天看點

CSS中背景圖檔定位方法

css中背景圖檔的定位,困擾我很久了。今天總算搞懂了,一定要記下來。

在css中,背景圖檔的定位方法有3種:

  1)關鍵字:background-position: top left;   2)像素:background-position: 0px 0px;   3)百分比:background-position: 0% 0%;

上面這三句語句,都将圖檔定位在背景的左上角,表面上看效果是一樣的,實際上第三種定位機制與前兩種完全不同。

前兩種定位,都是将背景圖檔左上角的原點,放置在規定的位置。請看下面這張圖,規定的位置是"20px 10px"和"60px 50px",都是圖檔的原點在那個位置上,圖中用x表示。

CSS中背景圖檔定位方法

但是第三種定位,也就是百分比定位,不是這樣。它的放置規則是,圖檔本身(x%,y%)的那個點,與背景區域的(x%,y%)的那個點重合。比如,如果放置位置是"20% 10%",實際結果如下圖,可以看到這個點是在圖檔本身的"20% 10%"的位置上。

CSS中背景圖檔定位方法

下面是一個有趣的例子。

背景圖檔是四個邊長為100px的方塊疊在一起:

CSS中背景圖檔定位方法

請問怎樣才能将其橫過來:

CSS中背景圖檔定位方法

答案是,在網頁中先設定四個div區域:

<div class="box1"> </div> <div class="box2""> <div class="box3"> <div class="box4">

然後,這樣編寫css:

.box1, .box2, .box3, .box4 { float:left; width:100px; height:100px; position:relative; background: #f3f2e2 url(1234.png) no-repeat; } .box1 { background-position:0% 0%; .box2 { background-position:0% 33.33333%; .box3 { background-position:0% 66.66666%; .box4 { background-position:0% 100%;

不過說實話,這個例子用像素設定法更容易一些。使用百分比設定的主要優勢在于,當頁面縮放的時候,背景圖檔也會跟着一起縮放,具體請參考下面"延伸閱讀"中的第二篇文章。

[延伸閱讀]

(完)

上一篇: MIME筆記