CSS 允許應(yīng)用純色作為背景,也允許使用背景圖像創(chuàng)建相當(dāng)復(fù)雜的效果。
CSS 在這方面的能力遠(yuǎn)遠(yuǎn)在 HTML 之上。
可以使用 background-color 屬性為元素設(shè)置背景色。這個屬性接受任何合法的顏色值。
這條規(guī)則把元素的背景設(shè)置為灰色:
p {background-color: gray;}
如果您希望背景色從元素中的文本向外少有延伸,只需增加一些內(nèi)邊距:
p {background-color: gray; padding: 20px;}
如需查看本例的效果,可以親自試一試!
可以為所有元素設(shè)置背景色,這包括 body 一直到 em 和 a 等行內(nèi)元素。
background-color 不能繼承,其默認(rèn)值是 transparent。transparent 有“透明”之意。也就是說,如果一個元素沒有指定背景色,那么背景就是透明的,這樣其祖先元素的背景才能可見。
要把圖像放入背景,需要使用 background-image 屬性。background-image 屬性的默認(rèn)值是 none,表示背景上沒有放置任何圖像。
如果需要設(shè)置一個背景圖像,必須為這個屬性設(shè)置一個 URL 值:
body {background-image: url(/i/eg_bg_04.gif);}
大多數(shù)背景都應(yīng)用到 body 元素,不過并不僅限于此。
下面例子為一個段落應(yīng)用了一個背景,而不會對文檔的其他部分應(yīng)用背景:
p.flower {background-image: url(/i/eg_bg_03.gif);}
您甚至可以為行內(nèi)元素設(shè)置背景圖像,下面的例子為一個鏈接設(shè)置了背景圖像:
a.radio {background-image: url(/i/eg_bg_07.gif);}
如需查看上述例子的效果,可以親自試一試!
理論上講,甚至可以向 textareas 和 select 等替換元素的背景應(yīng)用圖像,不過并不是所有用戶代理都能很好地處理這種情況。
另外還要補(bǔ)充一點(diǎn),background-image 也不能繼承。事實(shí)上,所有背景屬性都不能繼承。
如果需要在頁面上對背景圖像進(jìn)行平鋪,可以使用 background-repeat 屬性。
屬性值 repeat 導(dǎo)致圖像在水平垂直方向上都平鋪,就像以往背景圖像的通常做法一樣。repeat-x 和 repeat-y 分別導(dǎo)致圖像只在水平或垂直方向上重復(fù),no-repeat 則不允許圖像在任何方向上平鋪。
默認(rèn)地,背景圖像將從一個元素的左上角開始。請看下面的例子:
body
{
background-image: url(/i/eg_bg_03.gif);
background-repeat: repeat-y;
}
如需查看上例的效果,可以親自試一試。
可以利用 background-position 屬性改變圖像在背景中的位置。
下面的例子在 body 元素中將一個背景圖像居中放置:
body
{
background-image:url('/i/eg_bg_03.gif');
background-repeat:no-repeat;
background-position:center;
}
為 background-position 屬性提供值有很多方法。首先,可以使用一些關(guān)鍵字:top、bottom、left、right 和 center。通常,這些關(guān)鍵字會成對出現(xiàn),不過也不總是這樣。還可以使用長度值,如 100px 或 5cm,最后也可以使用百分?jǐn)?shù)值。不同類型的值對于背景圖像的放置稍有差異。
圖像放置關(guān)鍵字最容易理解,其作用如其名稱所表明的。例如,top right 使圖像放置在元素內(nèi)邊距區(qū)的右上角。
根據(jù)規(guī)范,位置關(guān)鍵字可以按任何順序出現(xiàn),只要保證不超過兩個關(guān)鍵字 - 一個對應(yīng)水平方向,另一個對應(yīng)垂直方向。
如果只出現(xiàn)一個關(guān)鍵字,則認(rèn)為另一個關(guān)鍵字是 center。
所以,如果希望每個段落的中部上方出現(xiàn)一個圖像,只需聲明如下:
p
{
background-image:url('bgimg.gif');
background-repeat:no-repeat;
background-position:top;
}
下面是等價的位置關(guān)鍵字:
單一關(guān)鍵字 | 等價的關(guān)鍵字 |
---|---|
center | center center |
top | top center 或 center top |
bottom | bottom center 或 center bottom |
right | right center 或 center right |
left | left center 或 center left |
百分?jǐn)?shù)值的表現(xiàn)方式更為復(fù)雜。假設(shè)你希望用百分?jǐn)?shù)值將圖像在其元素中居中,這很容易:
body
{
background-image:url('/i/eg_bg_03.gif');
background-repeat:no-repeat;
background-position:50% 50%;
}
這會導(dǎo)致圖像適當(dāng)放置,其中心與其元素的中心對齊。換句話說,百分?jǐn)?shù)值同時應(yīng)用于元素和圖像。也就是說,圖像中描述為 50% 50% 的點(diǎn)(中心點(diǎn))與元素中描述為 50% 50% 的點(diǎn)(中心點(diǎn))對齊。
如果圖像位于 0% 0%,其左上角將放在元素內(nèi)邊距區(qū)的左上角。如果圖像位置是 100% 100%,會使圖像的右下角放在右邊距的右下角。
因此,如果你想把一個圖像放在水平方向 2/3、垂直方向 1/3 處,可以這樣聲明:
body
{
background-image:url('/i/eg_bg_03.gif');
background-repeat:no-repeat;
background-position:66% 33%;
}
如果只提供一個百分?jǐn)?shù)值,所提供的這個值將用作水平值,垂直值將假設(shè)為 50%。這一點(diǎn)與關(guān)鍵字類似。
background-position 的默認(rèn)值是 0% 0%,在功能上相當(dāng)于 top left。這就解釋了背景圖像為什么總是從元素內(nèi)邊距區(qū)的左上角開始平鋪,除非您設(shè)置了不同的位置值。
長度值解釋的是元素內(nèi)邊距區(qū)左上角的偏移。偏移點(diǎn)是圖像的左上角。
比如,如果設(shè)置值為 50px 100px,圖像的左上角將在元素內(nèi)邊距區(qū)左上角向右 50 像素、向下 100 像素的位置上:
body
{
background-image:url('/i/eg_bg_03.gif');
background-repeat:no-repeat;
background-position:50px 100px;
}
注意,這一點(diǎn)與百分?jǐn)?shù)值不同,因為偏移只是從一個左上角到另一個左上角。也就是說,圖像的左上角與 background-position 聲明中的指定的點(diǎn)對齊。
如果文檔比較長,那么當(dāng)文檔向下滾動時,背景圖像也會隨之滾動。當(dāng)文檔滾動到超過圖像的位置時,圖像就會消失。
您可以通過 background-attachment 屬性防止這種滾動。通過這個屬性,可以聲明圖像相對于可視區(qū)是固定的(fixed),因此不會受到滾動的影響:
body
{
background-image:url(/i/eg_bg_02.gif);
background-repeat:no-repeat;
background-attachment:fixed
}
2015職稱計算機(jī)考試書PowerPoint2007中 .. 定價:¥45 優(yōu)惠價:¥42 更多書籍 | |
2015年全國職稱計算機(jī)考試教材(2007模 .. 定價:¥225 優(yōu)惠價:¥213 更多書籍 |