# CSS 背景
**CSS 允許應用純色作為背景,也允許使用背景圖像創建相當復雜的效果。**
**CSS 在這方面的能力遠遠在 HTML 之上。**
## 背景色
可以使用 [background-color 屬性](/cssref/pr_background-color.asp "CSS background-color 屬性")為元素設置背景色。這個屬性接受任何合法的顏色值。
這條規則把元素的背景設置為灰色:
```
p {background-color: gray;}
```
如果您希望背景色從元素中的文本向外少有延伸,只需增加一些內邊距:
```
p {background-color: gray; padding: 20px;}
```
如需查看本例的效果,可以!
可以為所有元素設置背景色,這包括 body 一直到 em 和 a 等行內元素。
background-color 不能繼承,其默認值是 transparent。transparent 有“透明”之意。也就是說,如果一個元素沒有指定背景色,那么背景就是透明的,這樣其祖先元素的背景才能可見。
## 背景圖像
要把圖像放入背景,需要使用 [background-image 屬性](/cssref/pr_background-image.asp "CSS background-image 屬性")。background-image 屬性的默認值是 none,表示背景上沒有放置任何圖像。
如果需要設置一個背景圖像,必須為這個屬性設置一個 URL 值:
```
body {background-image: url(img/eg_bg_04.gif);}
```
大多數背景都應用到 body 元素,不過并不僅限于此。
下面例子為一個段落應用了一個背景,而不會對文檔的其他部分應用背景:
```
p.flower {background-image: url(img/eg_bg_03.gif);}
```
您甚至可以為行內元素設置背景圖像,下面的例子為一個鏈接設置了背景圖像:
```
a.radio {background-image: url(img/eg_bg_07.gif);}
```
如需查看上述例子的效果,可以!
理論上講,甚至可以向 textareas 和 select 等替換元素的背景應用圖像,不過并不是所有用戶代理都能很好地處理這種情況。
另外還要補充一點,background-image 也不能繼承。事實上,所有背景屬性都不能繼承。
## 背景重復
如果需要在頁面上對背景圖像進行平鋪,可以使用 [background-repeat 屬性](/cssref/pr_background-repeat.asp "CSS background-repeat 屬性")。
屬性值 repeat 導致圖像在水平垂直方向上都平鋪,就像以往背景圖像的通常做法一樣。repeat-x 和 repeat-y 分別導致圖像只在水平或垂直方向上重復,no-repeat 則不允許圖像在任何方向上平鋪。
默認地,背景圖像將從一個元素的左上角開始。請看下面的例子:
```
body
{
background-image: url(img/eg_bg_03.gif);
background-repeat: repeat-y;
}
```
如需查看上例的效果,可以。
## 背景定位
可以利用 [background-position 屬性](/cssref/pr_background-position.asp)改變圖像在背景中的位置。
下面的例子在 body 元素中將一個背景圖像居中放置:
```
body
{
background-image:url('/i/eg_bg_03.gif');
background-repeat:no-repeat;
background-position:center;
}
```
為 background-position 屬性提供值有很多方法。首先,可以使用一些關鍵字:top、bottom、left、right 和 center。通常,這些關鍵字會成對出現,不過也不總是這樣。還可以使用長度值,如 100px 或 5cm,最后也可以使用百分數值。不同類型的值對于背景圖像的放置稍有差異。
### 關鍵字
圖像放置關鍵字最容易理解,其作用如其名稱所表明的。例如,top right 使圖像放置在元素內邊距區的右上角。
根據規范,位置關鍵字可以按任何順序出現,只要保證不超過兩個關鍵字 - 一個對應水平方向,另一個對應垂直方向。
如果只出現一個關鍵字,則認為另一個關鍵字是 center。
所以,如果希望每個段落的中部上方出現一個圖像,只需聲明如下:
```
p
{
background-image:url('bgimg.gif');
background-repeat:no-repeat;
background-position:top;
}
```
下面是等價的位置關鍵字:
| 單一關鍵字 | 等價的關鍵字 |
| --- | --- |
| center | center center |
| top | top center 或 center top |
| bottom | bottom center 或 center bottom |
| right | right center 或 center right |
| left | left center 或 center left |
### 百分數值
百分數值的表現方式更為復雜。假設你希望用百分數值將圖像在其元素中居中,這很容易:
```
body
{
background-image:url('/i/eg_bg_03.gif');
background-repeat:no-repeat;
background-position:50% 50%;
}
```
這會導致圖像適當放置,其中心與其元素的中心對齊。**換句話說,百分數值同時應用于元素和圖像。**也就是說,圖像中描述為 50% 50% 的點(中心點)與元素中描述為 50% 50% 的點(中心點)對齊。
如果圖像位于 0% 0%,其左上角將放在元素內邊距區的左上角。如果圖像位置是 100% 100%,會使圖像的右下角放在右邊距的右下角。
因此,如果你想把一個圖像放在水平方向 2/3、垂直方向 1/3 處,可以這樣聲明:
```
body
{
background-image:url('/i/eg_bg_03.gif');
background-repeat:no-repeat;
background-position:66% 33%;
}
```
如果只提供一個百分數值,所提供的這個值將用作水平值,垂直值將假設為 50%。這一點與關鍵字類似。
background-position 的默認值是 0% 0%,在功能上相當于 top left。這就解釋了背景圖像為什么總是從元素內邊距區的左上角開始平鋪,除非您設置了不同的位置值。
### 長度值
長度值解釋的是元素內邊距區左上角的偏移。偏移點是圖像的左上角。
比如,如果設置值為 50px 100px,圖像的左上角將在元素內邊距區左上角向右 50 像素、向下 100 像素的位置上:
```
body
{
background-image:url('/i/eg_bg_03.gif');
background-repeat:no-repeat;
background-position:50px 100px;
}
```
注意,這一點與百分數值不同,因為偏移只是從一個左上角到另一個左上角。也就是說,圖像的左上角與 background-position 聲明中的指定的點對齊。
## 背景關聯
如果文檔比較長,那么當文檔向下滾動時,背景圖像也會隨之滾動。當文檔滾動到超過圖像的位置時,圖像就會消失。
您可以通過 [background-attachment 屬性](/cssref/pr_background-attachment.asp "CSS background-attachment 屬性")防止這種滾動。通過這個屬性,可以聲明圖像相對于可視區是固定的(fixed),因此不會受到滾動的影響:
```
body
{
background-image:url(img/eg_bg_02.gif);
background-repeat:no-repeat;
background-attachment:fixed
}
```
如需查看上例的效果,可以。
background-attachment 屬性的默認值是 scroll,也就是說,在默認的情況下,背景會隨文檔滾動。
## CSS 背景實例
[設置背景顏色](/tiy/t.asp?f=csse_background-color)
[設置文本的背景顏色](/tiy/t.asp?f=csse_text_background)
[將圖像設置為背景](/tiy/t.asp?f=csse_background-image)
[將圖像設置為背景 2](/tiy/t.asp?f=csse_background-image_2)
[如何重復背景圖像](/tiy/t.asp?f=csse_background-repeat)
[如何在垂直方向重復背景圖像](/tiy/t.asp?f=csse_background-repeaty)
[如何在水平方向重復背景圖像](/tiy/t.asp?f=csse_background-repeatx)
[如何僅顯示一次背景圖像](/tiy/t.asp?f=csse_background-repeat_no-repeat)
[如何放置背景圖像](/tiy/t.asp?f=csse_background-position)
[如何使用%來定位背景圖像](/tiy/t.asp?f=csse_background-position_percent)
[如何使用像素來定位背景圖像](/tiy/t.asp?f=csse_background-position_pixel)
[如何設置固定的背景圖像](/tiy/t.asp?f=csse_background-attachment)
[所有背景屬性在一個聲明之中](/tiy/t.asp?f=csse_background)
## CSS 背景屬性
| 屬性 | 描述 |
| --- | --- |
| [background](/cssref/pr_background.asp "CSS background 屬性") | 簡寫屬性,作用是將背景屬性設置在一個聲明中。 |
| [background-attachment](/cssref/pr_background-attachment.asp "CSS background-attachment 屬性") | 背景圖像是否固定或者隨著頁面的其余部分滾動。 |
| [background-color](/cssref/pr_background-color.asp "CSS background-color 屬性") | 設置元素的背景顏色。 |
| [background-image](/cssref/pr_background-image.asp "CSS background-image 屬性") | 把圖像設置為背景。 |
| [background-position](/cssref/pr_background-position.asp "CSS background-position 屬性") | 設置背景圖像的起始位置。 |
| [background-repeat](/cssref/pr_background-repeat.asp "CSS background-repeat 屬性") | 設置背景圖像是否及如何重復。 |
- HTML 基礎
- HTML 簡介
- 基本的 HTML 標簽 - 四個實例
- HTML 元素
- HTML 屬性
- HTML 標題
- HTML 段落
- HTML 文本格式化
- HTML 編輯器
- HTML CSS
- HTML 鏈接
- HTML 圖像
- HTML 表格
- HTML 列表
- HTML <div> 和 <span>
- HTML 布局
- HTML 表單和輸入
- HTML 框架
- HTML Iframe
- HTML 背景
- HTML 顏色
- HTML 顏色名
- HTML 4.01 快速參考
- HTML 高級
- HTML <!DOCTYPE>
- HTML 頭部元素
- HTML 腳本
- HTML 字符實體
- HTML 統一資源定位器
- HTML URL 字符編碼
- HTML Web Server
- HTML 媒體
- HTML 多媒體
- HTML Object 元素
- HTML 音頻
- HTML 視頻
- HTML XHTML
- XHTML 簡介
- XHTML - 元素
- XHTML - 屬性
- HTML 5 教程
- HTML 5 簡介
- HTML 5 視頻
- HTML 5 Video + DOM
- HTML 5 音頻
- HTML 5 拖放
- HTML 5 Canvas
- HTML5 內聯 SVG
- HTML 5 Canvas vs. SVG
- HTML5 地理定位
- HTML 5 Web 存儲
- HTML 5 應用程序緩存
- HTML 5 Web Workers
- HTML 5 服務器發送事件
- HTML5 Input 類型
- HTML5 表單元素
- HTML5 表單屬性
- CSS 基礎
- CSS 簡介
- CSS 基礎語法
- CSS 高級語法
- CSS 派生選擇器
- CSS id 選擇器
- CSS 類選擇器
- CSS 屬性選擇器
- 如何創建 CSS
- CSS 樣式
- CSS 背景
- CSS 文本
- CSS 字體
- CSS 鏈接
- CSS 列表
- CSS 表格
- CSS 輪廓
- CSS 框模型
- CSS 框模型概述
- CSS 內邊距
- CSS 邊框
- CSS 外邊距
- CSS 外邊距合并
- CSS 定位
- CSS 定位 (Positioning)
- CSS 相對定位
- CSS 絕對定位
- CSS 浮動
- CSS 選擇器
- CSS 元素選擇器
- CSS 分組
- CSS 類選擇器詳解
- CSS ID 選擇器詳解
- CSS 屬性選擇器詳解
- CSS 后代選擇器
- CSS 屬性選擇器詳解
- CSS 后代選擇器
- CSS 子元素選擇器
- CSS 相鄰兄弟選擇器
- CSS 偽類 (Pseudo-classes)
- CSS 偽元素 (Pseudo-elements)
- CSS 高級
- CSS 水平對齊
- CSS 尺寸 (Dimension)
- CSS 分類 (Classification)
- CSS 導航條
- CSS 圖片庫
- CSS 圖像透明度
- CSS2 媒介類型
- CSS 注意事項
- CSS3 教程
- CSS3 簡介
- CSS3 邊框
- CSS3 背景
- CSS3 文本效果
- CSS3 字體
- CSS3 2D 轉換
- CSS3 3D 轉換
- CSS3 過渡
- CSS3 動畫
- CSS3 多列
- CSS3 用戶界面
- Firebug 教程
- Firebug 教程
- 使用Firebug查看和編輯HTML和CSS
- 使用 Firebug 調試 JavaScript
- Firebug頁面概況查看
- Firebug動態執行JavaScript
- Firebug記錄Javascript日志
- Firebug監控網絡情況
- 免責聲明