CSS 背景
表格中的屬性我們將會通過下面兩個例子給大家一一講述。 例子 1:背景顏色
index.html
<!doctype html> <html> <head> <meta charset="UTF-8"> <title></title> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body> <p>PHP中文網(wǎng)</p> </body> </html>
style.css
/\*背景顏色設置為紅色\*/
body{ background-color: red; } p{ width: 150px; padding: 10px; background-color: #0014ff; }
例子 2:設置背景圖
我們需要在工程文件夾下放置一張圖片,我們的舉例當中放置一個名為 python.png 的圖片,該圖片用于 css 設置背景圖時的引用。圖片如下:
index.html
<!doctype html> <html> <head> <meta charset="UTF-8"> <title></title> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body> <p>PHP中文網(wǎng)</p> </body> </html>
style.css
/\*把 python.png 設置為背景圖片\*/
body{ background-image: url("python.png") }
運行結(jié)果:
大家可以看到顯示出來的背景圖有很多個 python 圖片,這是因為默認情況下背景圖顯示重復,我們可以background-repeat屬性來設置圖片是否可重復。 css.css 添加以下內(nèi)容
body{ background-image: url("python.png"); background-repeat: no-repeat; }
no-repeat 表示不能重復,repeat 可重復,repeat-x 表示 x 軸重復,repeat-y 表示 y 軸重復
運行結(jié)果:
background-position用來設置圖片的起始位置 下面的例子在 body 元素中將一個背景圖從中間頂部放置:
body{ background-image: url("python.png"); background-repeat: no-repeat; background-position:center top; /\*大家可以嘗試去掉 top 來對比顯示效果\*/ }
為 background-position 屬性提供值有很多方法。首先,可以使用一些關(guān)鍵字:top、bottom、left、right 和 center。通常,這些關(guān)鍵字會成對出現(xiàn),不過也不總是這樣。還可以使用長度值,如 100px 或 5cm,最后也可以使用百分數(shù)值。不同類型的值對于背景圖像的放置稍有差異。我們這里不詳細闡述屬性值,需要用到的時候大家可以在 w3school 上面查找。
背景關(guān)聯(lián) 如果網(wǎng)頁比較長,那么當網(wǎng)頁向下滾動時,背景圖像也會隨之滾動。當網(wǎng)頁滾動到超過圖像的位置時,圖像就會消失。 我們可以通過background-attachment屬性防止這種滾動。通過這個屬性,可以聲明圖像相對于可視區(qū)是固定的(fixed),因此不會受到滾動的影響:
body{ background-image: url("python.png"); background-repeat: no-repeat; background-attachment:fixed; }
防止背景圖滾動相信大家大家也是經(jīng)常見到,尤其是一些煩人的廣告。
背景定位
可以利用 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,最后也可以使用百分數(shù)值。不同類型的值對于背景圖像的放置稍有差異。
關(guān)鍵字
圖像放置關(guān)鍵字最容易理解,其作用如其名稱所表明的。例如,top right 使圖像放置在元素內(nèi)邊距區(qū)的右上角。
根據(jù)規(guī)范,位置關(guān)鍵字可以按任何順序出現(xiàn),只要保證不超過兩個關(guān)鍵字 - 一個對應水平方向,另一個對應垂直方向。
如果只出現(xiàn)一個關(guān)鍵字,則認為另一個關(guān)鍵字是 center。
所以,如果希望每個段落的中部上方出現(xiàn)一個圖像,只需聲明如下:
p { background-image:url('bgimg.gif'); background-repeat:no-repeat; background-position:top; }
下面是等價的位置關(guān)鍵字:
百分數(shù)值
百分數(shù)值的表現(xiàn)方式更為復雜。假設你希望用百分數(shù)值將圖像在其元素中居中,這很容易:
body { background-image:url('/i/eg_bg_03.gif'); background-repeat:no-repeat; background-position:50% 50%; }
這會導致圖像適當放置,其中心與其元素的中心對齊。換句話說,百分數(shù)值同時應用于元素和圖像。也就是說,圖像中描述為 50% 50% 的點(中心點)與元素中描述為 50% 50% 的點(中心點)對齊。
如果圖像位于 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%; }
如果只提供一個百分數(shù)值,所提供的這個值將用作水平值,垂直值將假設為 50%。這一點與關(guān)鍵字類似。
background-position 的默認值是 0% 0%,在功能上相當于 top left。這就解釋了背景圖像為什么總是從元素內(nèi)邊距區(qū)的左上角開始平鋪,除非您設置了不同的位置值
<html> <head> <style type="text/css"> body { background: #ff0000 url("http://img3.imgtn.bdimg.com/it/u=4051126327,266356416&fm=11&gp=0.jpg") no-repeat fixed center; } </style> </head> <body> <p>這是一些文本。</p> <p>這是一些文本。</p> <p>這是一些文本。</p> <p>這是一些文本。</p> <p>這是一些文本。</p> <p>這是一些文本。</p> <p>這是一些文本。</p> <p>這是一些文本。</p> <p>這是一些文本。</p> <p>這是一些文本。</p> <p>這是一些文本。</p> <p>這是一些文本。</p> <p>這是一些文本。</p> <p>這是一些文本。</p> <p>這是一些文本。</p> <p>這是一些文本。</p> <p>這是一些文本。</p> <p>這是一些文本。</p> <p>這是一些文本。</p> <p>這是一些文本。</p> <p>這是一些文本。</p> <p>這是一些文本。</p> <p>這是一些文本。</p> <p>這是一些文本。</p> </body> </html>