一、CSS背景
CSS 背景屬性用于定義 HTML元素的背景。CSS 屬性定義背景效果:
- background-color
- background-image
- background-repeat
- background-attachment
- background-position
二、背景顏色
background-color 屬性定義了元素的背景顏色。頁面的背景顏色使用在 body 的選擇器中:
body {background-color:#b0c4de;}
CSS 中,顏色值通常以以下方式進(jìn)行定義:
- 十六進(jìn)制 – 如:”#ff0000″
- RGB – 如:”rgb(255,0,0)”
- 顏色名稱 – 如:”red”
以下實(shí)例中, h1, p, 和 div元素?fù)碛胁煌谋尘邦伾?
h1 {background-color:#6495ed;} p {background-color:#e0ffff;} div {background-color:#b0c4de;}
注意:你可以為所有元素設(shè)置背景色,包括 body 元素,一直到行內(nèi)元素如 em 和 a。背景色是不能繼承的,其默認(rèn)值是透明 (transparent)。如果一個(gè)元素沒有指定背景色,那么它的背景就是透明的,這樣才能顯示其父元素的背景。
三、背景圖像
background-image 屬性描述了元素的背景圖像。一般情況下,背景圖像進(jìn)行平鋪重復(fù)顯示,以覆蓋整個(gè)元素實(shí)體。頁面背景圖片設(shè)置如下:
body {background-image:url('paper.gif');}
下面是一個(gè)例子是一個(gè)糟糕的文字和背景圖像組合。文本可讀性差:
body {background-image:url('bgdesert.jpg');}
1、水平或垂直平鋪
如果需要在 HTML 頁面上對背景圖像進(jìn)行平鋪,可以使用 background-repeat 屬性。
默認(rèn)情況下 background-image 屬性會在頁面的水平或者垂直方向平鋪。
一些圖像如果在水平方向與垂直方向平鋪,這樣看起來很不協(xié)調(diào),如下所示:
body {background-image:url('gradient2.png'); }
如果圖像只在水平方向平鋪 (repeat-x) , 頁面背景會更好些:
body {background-image:url('gradient2.png'); background-repeat:repeat-x;}
2、設(shè)置定位與不平鋪
Remark可以讓背景圖像不影響文本的排版,如果不想讓圖像平鋪,你可以使用 background-repeat 屬性:
body {background-image:url('img_tree.png'); background-repeat:no-repeat;}
以上實(shí)例中,背景圖像與文本顯示在同一個(gè)位置,為了讓頁面排版更加合理,不影響文本的閱讀,可以改變圖像的位置。利用 background-position 屬性改變圖像在背景中的位置:
body {background-image:url('img_tree.png'); background-repeat:no-repeat; background-position:right top;}
注意:為 background-position 屬性提供值有很多方法。首先,可以使用一些關(guān)鍵字:top、bottom、left、right 和 center;其次,可以使用長度值,如 100px 或 5cm;最后也可以使用百分?jǐn)?shù)值。不同類型的值對于背景圖像的放置稍有差異。
(1)關(guān)鍵字
圖像放置關(guān)鍵字的作用很容易理解,就像它們的名稱所暗示的那樣。例如,使用 “top left” 將圖像放置在元素內(nèi)邊距區(qū)的左上角。只要保證不超過兩個(gè)關(guān)鍵字:一個(gè)用于水平方向,另一個(gè)用于垂直方向,那么你可以以任何順序設(shè)置位置關(guān)鍵字。如果只指定了一個(gè)關(guān)鍵字,則會默認(rèn)另一個(gè)關(guān)鍵字為 “center”。所以,如果希望每個(gè)段落的中部上方出現(xiàn)一個(gè)圖像,只需聲明如下:
p {background-image:url('img_tree.png'); background-repeat:no-repeat; background-position:top;}
下面是等價(jià)的位置關(guān)鍵字:
(2)百分?jǐn)?shù)值
百分?jǐn)?shù)值的表現(xiàn)方式相對來說就比較復(fù)雜,假設(shè)希望用百分?jǐn)?shù)值將圖像在其元素中居中,可以按照下面的代碼進(jìn)行設(shè)置:
body {background-image:url('img_tree.png'); background-repeat:no-repeat; background-position:50% 50%;}
這會讓圖像適當(dāng)放置,其中心與其元素的中心對齊。因此,如果想把一個(gè)圖像放在水平方向 2/3、垂直方向 1/3 處,可以這樣聲明:
body {background-image:url('img_tree.png'); background-repeat:no-repeat; background-position:66% 33%;}
(3)長度值
長度值解釋的是元素內(nèi)邊距區(qū)左上角的偏移,偏移點(diǎn)是圖像的左上角。比如,如果設(shè)置值為 50px 100px,圖像的左上角將在元素內(nèi)邊距區(qū)左上角向右 50 像素、向下 100 像素的位置上:
body {background-image:url('img_tree.png'); background-repeat:no-repeat; background-position:50px 100px;}
注意:這一點(diǎn)與百分?jǐn)?shù)值不同,因?yàn)槠浦皇菑囊粋€(gè)左上角到另一個(gè)左上角。也就是說,圖像的左上角與 background-position 聲明中的指定的點(diǎn)對齊。
四、簡寫屬性
在以上實(shí)例中我們可以看到頁面的背景顏色通過了很多的屬性來控制。為了簡化這些屬性的代碼,我們可以將這些屬性合并在同一個(gè)屬性中。
背景顏色的簡寫屬性為 “background”:
body {background:#ffffff url('img_tree.png') no-repeat right top;}
當(dāng)使用簡寫屬性時(shí),屬性值的順序?yàn)椋?/p>
- background-color
- background-image
- background-repeat
- background-attachment
- background-position
以上屬性不需要全部使用,按照頁面的實(shí)際需要使用即可。