原文鏈接:Backgrounds In CSS: Everything You Need To Know
背景(background)是css中一個重要的的部分,也是需要知道的css的基礎知識之一。這篇文章將會涉及css背景(background)的基本用法,包括諸如 background-attachment 等的屬性,也會介紹一些有關背景(background)的常用技巧,以及 css3 中的 背景(background)(包含4個新的背景(background)屬性)。
進入論壇參與討論: http://www.missyuan.com/viewthread.php?tid=419126
CSS2 中有5個主要的背景(background)屬性,它們是:
* background-color: 指定填充背景的顏色。
* background-image: 引用圖片作為背景。
* background-position: 指定元素背景圖片的位置。
* background-repeat: 決定是否重復背景圖片。
* background-attachment: 決定背景圖是否隨頁面滾動。
這些屬性可以全部合并為一個縮寫屬性: background。需要注意的一個要點是背景占據元素的所有內容區域,包括 padding 和 border,但是不包括元素的 margin。它在 Firefox, Safari ,Opera 以及 IE8 中工作正常,但是 IE6 和 IE7 中,background 沒把 border 計算在內。
background-color 屬性用純色來填充背景。有許多方式指定這個顏色,以下方式都得到相同的結果。
background-color: blue; background-color: rgb(0, 0, 255); background-color: #0000ff;
background-color 也可被設置為透明(transparent),這會使得其下的元素可見。
background-image 屬性允許指定一個圖片展示在背景中。可以和 background-color 連用,因此如果圖片不重復地話,圖片覆蓋不到地地方都會被背景色填充。代碼很簡單,只需要記住,路徑是相對于樣式表的,因此以下的代碼中,圖片和樣式表是在同一個目錄中的。
background-image: url(image.jpg);
但是如果圖片在一個名為 images 的子目錄中,就應該是:
background-image: url(images/image.jpg);
糖伴西紅柿:使用 ../ 表示上一級目錄,比如 background-image: url(../images/image.jpg); 表示圖片位于樣式表的上級目錄中的 images 子目錄中。有點繞,不過這個大家應該都知道了,我就不詳說了。
設置背景圖片時,默認把圖片在水平和垂直方向平鋪以鋪滿整個元素。這也許是你需要的,但是有時會希望圖片只出現一次,或者只在一個方向平鋪。以下為可能的設置值和結果:
background-repeat: repeat; /* 默認值,在水平和垂直方向平鋪 */ background-repeat: no-repeat; /* 不平鋪。圖片只展示一次。 */ background-repeat: repeat-x; /* 水平方向平鋪(沿 x 軸) */ background-repeat: repeat-y; /* 垂直方向平鋪(沿 y 軸) */ background-repeat: inherit; /* 繼承父元素的 background-repeat 屬性*/
background-position 屬性用來控制背景圖片在元素中的位置。技巧是,實際上指定的是圖片左上角相對于元素左上角的位置。
下面的例子中,設置了一個背景圖片并且用 background-position 屬性來控制它的位置,同時也設置了 background-repeat 為 no-repeat。計量單位是像素。第一個數字表示 x 軸(水平)位置,第二個是 y 軸(垂直) 位置。
/* 例 1: 默認值 */ background-position: 0 0; /* 元素的左上角 */ /* 例 2: 把圖片向右移動 */ background-position: 75px 0; /* 例 3: 把圖片向左移動 */ background-position: -75px 0; /* 例 4: 把圖片向下移動 */ background-position: 0 100px;