在制作網(wǎng)頁時(shí)我們往往需要在網(wǎng)頁中添加一些背景顏色、背景圖像讓網(wǎng)頁更加美觀,吸引訪問者的眼球。CSS 中提供了一系列用于設(shè)置 HTML 元素背景效果的屬性,下面本篇文章就來帶大家聊聊CSS 背景屬性,希望對(duì)大家有所幫助!
CSS 背景屬性
- (Background)
用于 | 屬性名 | CSS 版本 | 瀏覽器支持 |
---|---|---|---|
1.在一個(gè)聲明中設(shè)置 所有的背景屬性。 | background |
1 | IE8- 不支持多個(gè)背景圖像。IE7- 不支持"inherit"。 |
2.背景圖像是否 固定或者隨著頁面的其余部分 滾動(dòng)。 | background-attachment |
1 | IE 不支持屬性值 “inherit”。 |
3.元素的 背景顏色。 | background-color |
1 | IE 不支持屬性值 “inherit”。 |
4.元素的 背景圖像。 | background-image |
1 | IE 不支持屬性值 “inherit”。 |
5.背景圖像的 開始位置。 | background-position |
1 | IE 不支持屬性值 “inherit”。 |
6.是否及如何 重復(fù)背景圖像。 | background-repeat |
1 | IE 不支持屬性值 “inherit”。 |
7.背景的 繪制區(qū)域。 | background-clip |
3 | 都支持,IE8- 不支持。 |
8.背景圖片的 定位區(qū)域。 | background-origin |
3 | 都支持,IE8- 不支持。 |
9.背景 圖片的尺寸。 | background-size |
3 | 都支持,IE8- 不支持。 |
1. background 屬性: 一次性 集中定義 8個(gè) 背景相關(guān)屬性
- 關(guān)鍵點(diǎn):
- 背景 顏色
- 背景圖像 位置
- 背景圖像 尺寸
- 背景圖像 重復(fù)
- 背景圖像 定位位置
- 背景 繪制區(qū)域
- 背景圖像 固定和滾動(dòng)
- 要使用的 背景圖像
- 繼承
<style type="text/css"> body { background: #ff0000 url(/i/eg_bg_03.gif) no-repeat fixed center; } </style>
-
⑴ 一個(gè)元素 多個(gè)背景圖像 瀏覽器支持
- IE8 以及更早的瀏覽器 不支持
- 即 指定對(duì)個(gè) 背景圖像的資源地址
-
⑵
background
屬性 “inherit
” 瀏覽器支持- IE7 以及更早的瀏覽器 不支持 “
inherit
”。 - IE8 需要
!DOCTYPE
。 - IE9 支持 “
inherit
”。
- IE7 以及更早的瀏覽器 不支持 “
- ⑶ 在一個(gè)聲明中,設(shè)置 所有的 背景屬性。
- 簡寫屬性+集中定義: 是一種 CSS 簡寫屬性,用于一次性 集中定義 各種背景屬性,包括
color, image, origin
與size, repeat
方式等等?!就扑]學(xué)習(xí):css視頻教程】- 背景
background
簡寫屬性 - 背景 屬性
- 包含 其他 8 個(gè) 背景屬性
- 背景
- 簡寫屬性+集中定義: 是一種 CSS 簡寫屬性,用于一次性 集中定義 各種背景屬性,包括
- ⑷ 背景
background
的 屬性值- 包含 其他 8 個(gè) 背景屬性
- ① 可以設(shè)置如下 屬性和屬性值:
- 多個(gè) 屬性值之間 空格 隔開
- 背景層 分隔: 指定 多個(gè)背景層 時(shí),使用 逗號(hào)分隔 每個(gè)背景層
- 是一種 CSS 簡寫屬性,用于 一次性 集中定義 各種背景屬性,包括
color, image, origin
與size, repeat
方式等等。(每個(gè)屬性的意思,可以先學(xué)習(xí)完后面的內(nèi)容 就能理解了)- background-color
- background-position
- background-size
- background-repeat
- background-origin
- background-clip
- background-attachment
- background-image
- inherit
- 繼承
- 是一種 CSS 簡寫屬性,用于 一次性 集中定義 各種背景屬性,包括
- ② 背景
background
的 屬性值省略- 如果不設(shè)置 其中的某個(gè)值,也不會(huì)出問題
- 比如
background:#ff0000 url('smiley.gif');
也是允許的。
- ③ 背景簡寫 默認(rèn)值
- 沒有指定 具體默認(rèn)值
- not specified
- 對(duì)于所有簡寫屬性,任何 沒有被指定的值 都會(huì)被設(shè)定為它們的 初始值。
- ① 可以設(shè)置如下 屬性和屬性值:
- 包含 其他 8 個(gè) 背景屬性
- ⑸ 每個(gè) 背景層的語法
- 在每一層中,下列的值 可以出現(xiàn) 0 次或 1 次:
- 每個(gè)背景層, 最多只能 出現(xiàn)一次的屬性
- ① 背景圖像的 固定和滾動(dòng):
background-attachment
- ② 背景圖像:
background-image
- ③ 背景圖像 位置:
background-position
- ④
background-size
- ⑤ 背景圖像 重復(fù)方式:
background-repeat
- ① 背景圖像的 固定和滾動(dòng):
- 每個(gè)背景層, 最多只能 出現(xiàn)一次的屬性
- 在每一層中,下列的值 可以出現(xiàn) 0 次或 1 次:
- ⑹ 限定的 代碼位置
- ①
background-size
的 代碼位置background-size
只能 緊跟在 背景位置background-position
后面出現(xiàn),以"/
"分割- 如: “
center/80%
”.
- 如: “
- ②
background-clip
和background-origin
可能 出現(xiàn)的次數(shù)- 0 次、1 次或 2 次(最多兩次)
- 如果 出現(xiàn) 1 次:
- 它 同時(shí)設(shè)定
background-origin
和background-clip
。
- 它 同時(shí)設(shè)定
- 如果 出現(xiàn) 2 次:
- 第一次的出現(xiàn) 設(shè)置
background-origin
,第二次的出現(xiàn) 設(shè)置background-clip
。
- 第一次的出現(xiàn) 設(shè)置
- 如果 出現(xiàn) 1 次:
- 0 次、1 次或 2 次(最多兩次)
- ③ 背景顏色
background-color
的 代碼位置- 只能被包含在 最后的背景層中。
- 只能在
background
的 最后 一個(gè)屬性上 定義,因?yàn)?整個(gè)元素 只有一種 背景顏色。
- ①
-
⑺ 背景
background
的繼承性- 不繼承
no
-
⑻ 盡量使用 背景
background
屬性- 設(shè)置背景 技巧: 建議使用 簡寫屬性,而不是使用 單個(gè)屬性
- 舊瀏覽器的支持好: 這個(gè)簡寫屬性, 在較老的瀏覽器中能夠得到 更好的支持
- 代碼少: 需要鍵入的 字母也更少。
-
⑼ 背景簡寫
background
的版本- CSS1 + CSS3
-
⑽ 背景簡寫
background
的JavaScript 語法object.style.background="white url(paper.gif) repeat-y"
-
⑾ 背景簡寫
background
的 瀏覽器支持
- 示例1: 背景相關(guān)的屬性 在一個(gè)屬性
background
中 集中定義.
p{ /*background-image: url(../images/四葉草背景.png);*/ /*background-repeat: no-repeat;*/ /*第一個(gè)值 水平位置,第二個(gè)值 垂直位置*/ /*background-position: 50px 100px; */ /*背景固定*/ /*background-attachment: fixed;*/ /*background-color: yellow; */ background: url(../images/四葉草背景.png) no-repeat 50px 100px; }
2. background-color 屬性: 元素的 背景顏色 (純色,范圍到 邊框區(qū)的 外邊緣)
- ⑴ 元素的 背景顏色:
background-color
- 設(shè)置元素的 背景顏色
- 會(huì)設(shè)置元素的 背景色, 屬性的值為 顏色值或關(guān)鍵字"
transparent
"二者選其一. - 設(shè)置一種 純色
- 會(huì)設(shè)置元素的 背景色, 屬性的值為 顏色值或關(guān)鍵字"
- 使用
background-color
屬性 - 背景顏色 屬性
- 設(shè)置元素的 背景顏色
- ⑵ 背景顏色的 填充范圍
- 元素的 內(nèi)容、內(nèi)邊距 和 邊框區(qū)域
- ① 擴(kuò)展到元素 邊框的 外邊界
- (但不包括 外邊距)。
- ② 如果 邊框 有透明 部分(如 虛線 邊框)
- 會(huì)透過這些 透明部分 顯示出背景色
- ① 擴(kuò)展到元素 邊框的 外邊界
- 元素的 內(nèi)容、內(nèi)邊距 和 邊框區(qū)域
-
⑶ 背景顏色 語法
- background-color:
color_name red |hex_number #ff0000| rgb_number rgb(255,0,0)| transparent| inherit
;
- background-color:
-
語法示例
/* 關(guān)鍵字 或 顏色名 Keyword values */ background-color: red; background-color: indigo; /* 十六進(jìn)制值 Hexadecimal value (設(shè)置透明值 和 不設(shè)置 不透明值) */ background-color: #bbff00; /* 完全不透明 Fully opaque (不設(shè)置 不透明值)*/ background-color: #bf0; /* 完全不透明的 簡寫 Fully opaque shorthand (不設(shè)置 不透明值)*/ background-color: #11ffee00; /* 完全透明 Fully transparent (設(shè)置 不透明值)*/ background-color: #1fe0; /* 完全透明的 簡寫 Fully transparent shorthand (設(shè)置 不透明值) */ background-color: #11ffeeff; /* 完全不透明 Fully opaque (設(shè)置 不透明值)*/ background-color: #1fef; /* 完全不透明的 簡寫 Fully opaque shorthand (設(shè)置 不透明值) */ /* RGB value */ background-color: rgb(255, 255, 128); /* 完全不透明 Fully opaque */ background-color: rgba(117, 190, 218, 0.5); /* 50%透明 50% transparent (設(shè)置 不透明值)*/ /* HSL value */ background-color: hsl(50, 33%, 25%); /* 完全不透明 Fully opaque */ background-color: hsla(50, 33%, 25%, 0.75); /* 75% transparent (設(shè)置 不透明值)*/ /* 特別的關(guān)鍵字 Special keyword values */ background-color: currentcolor; background-color: transparent; /* 全局性的值 Global values */ background-color: inherit; background-color: initial; background-color: unset;
- ⑷ 背景顏色 屬性值
-
關(guān)鍵點(diǎn): 顏色名 十六進(jìn)制 rgb代碼 透明 繼承
-
① 顏色名:
color_name
- 顏色值為 顏色名稱的背景顏色
- (比如
red
)。
- (比如
- 顏色值為 顏色名稱的背景顏色
-
② 十六進(jìn)制:
hex_number
- 顏色值為 十六進(jìn)制值的背景顏色
- (比如
#ff0000
)。
-
③ rgb:
rgb()
,rgba()
- 顏色值為 rgb 代碼的背景顏色
- (比如
rgb(255,0,0)
)
- (比如
- 顏色值為 rgb 代碼的背景顏色
-
④ hsl:
hsl()
,hsla()
-
⑤ 透明 (無顏色,默認(rèn)值):
transparent
- 背景顏色為 透明色 。
- 該顏色 看上去將是 背景色。從技術(shù)上說,它是帶有 阿爾法通道 為最小值的黑色,是
rgba(0,0,0,0)
的簡寫。
- 該顏色 看上去將是 背景色。從技術(shù)上說,它是帶有 阿爾法通道 為最小值的黑色,是
- 嚴(yán)格來說, 透明色,也是 一種顏色.
- 背景顏色為 透明色 。
-
⑥ 繼承:
inherit
- 從父元素繼承
background-color
屬性的設(shè)置
- 從父元素繼承
-
- ⑸ 背景顏色繼承性
- 不繼承
no
- ⑹ 背景顏色 css 版本
- CSS1
- ⑺ JavaScript 語法
object.style.backgroundColor="#00FF00"
- ⑻ 背景顏色 和 可訪問性
- 可訪問性 問題
- 對(duì)比度: 要確保 背景顏色 和 文本顏色 之間的 對(duì)比度足夠高,以使 視覺條件差的人 能夠閱讀 頁面的內(nèi)容。
- 顏色對(duì)比度
- 是通過 比較文本的亮度 和 背景顏色值 來確定的。
- 為了滿足當(dāng)前的 Web 內(nèi)容可訪問性準(zhǔn)則(WCAG)
- 文本內(nèi)容的比例:
4.5:1
- 大一些的文本(如標(biāo)題)的比例為
3:1
。 - 大文本定義為
18.66px
,粗體bold
或更大,24px
或更大。
- 是通過 比較文本的亮度 和 背景顏色值 來確定的。
- ⑼ 實(shí)用工具: WebAIM: 對(duì)比檢查器 Contrast Checker (網(wǎng)頁版)
-
檢查 文字顏色 和 背景顏色,看是否 能夠很好的滿足 用戶的視覺需要
-
- ⑽ 用戶的感知 和 可訪問性
- Perceivable – Accessibility | MDN(英文版 待翻譯)
- 提供了關(guān)于如何編寫 web 內(nèi)容的實(shí)用建議,使其符合 web 內(nèi)容可訪問性指南(WCAG) 2.0和2.1的 可感知原則中 列出的成功標(biāo)準(zhǔn)。
- 感知狀態(tài): 是指用戶 必須能夠 以某種方式感知它,使用他們的 一種或多種感官。
- Perceivable – Accessibility | MDN(英文版 待翻譯)
- ⑾ 背景圖像 和 背景顏色
- 圖像 覆蓋在 顏色上方: 背景圖像,覆蓋在 背景顏色的上面.
- 背景的統(tǒng)一顏色,背景色 是在指定的 背景圖像后 呈現(xiàn)的
- 盡管顏色 仍然可以通過 圖像中的任何透明度 看到。
- ⑿ 背景顏色
background-color
的 瀏覽器支持
-
示例1: 同時(shí)顯示 背景圖像 和 背景顏色
- 背景圖像,覆蓋在 背景顏色的上面.
-
css
.bgimg-fixed { background-color: pink; background-image: url(../images/四葉草背景.png); background-repeat: no-repeat; }
- 示例2: 把十六進(jìn)制值的 顏色, 設(shè)置了透明值. (最后兩位,每位的值:
0-f
)- 改變透明度 (即 最后 多加的 兩位的值),顏色 也會(huì)隨之改變)
00
: 完全透明了,看不到顏色,跟沒設(shè)置顏色一樣.ff
: 就是 純紅色了,相當(dāng)于沒加 透明值.
- 改變透明度 (即 最后 多加的 兩位的值),顏色 也會(huì)隨之改變)
/*把十六進(jìn)制 設(shè)置了透明值的 紅色,最后兩位的 33 就是透明值*/ background-color: #ff000066; background-image: url(../images/四葉草背景.png); background-repeat: no-repeat; }
3. background-image 屬性: 背景圖像 (范圍到 內(nèi)邊距區(qū)的 外邊緣,不含 邊框)
-
⑴ 背景圖像:
- 為一個(gè)元素 設(shè)置 一個(gè)或多個(gè) 背景圖像。
background-image
屬性- 背景圖像 屬性
- 為一個(gè)元素 設(shè)置 一個(gè)或多個(gè) 背景圖像。
-
⑵ 元素的 背景范圍
-
背景色:
background-color
- 背景色 默認(rèn)到 邊框區(qū)的 外邊緣
-
邊框區(qū)的下方 會(huì)顯示 背景色,虛線邊框的話,可以直接看到 邊框下的背景色
-
背景圖像:
background-image
- 背景圖像 不重復(fù)時(shí) (
background-repeat:no-repeat;
),圖像 默認(rèn)在 內(nèi)邊距區(qū)的 外邊緣-
不在邊框區(qū),也不會(huì)顯示在 邊框的下方 (特意加粗的邊框,下方?jīng)]有背景圖像).
-
- 背景圖像 不重復(fù)時(shí) (
-
-
⑶ 背景圖像的 位置
- 元素的 左上角: 默認(rèn)地,背景圖像的位置 位于 元素的 左上角
- 重復(fù): 在 水平和垂直方向上 重復(fù)
-
⑷ 背景圖像的 語法
background-image: none|url('URL')|inherit;
- ⑸ 背景圖像的 屬性值
- 關(guān)鍵點(diǎn):路徑url 不顯示 繼承
- ① 圖像路徑/地址:
url('URL')
- 指向 圖像的路徑,簡單的 靜態(tài)圖像,用
URL
引用 url
值 帶引號(hào).
- 指向 圖像的路徑,簡單的 靜態(tài)圖像,用
- ② 無圖像 (默認(rèn)值):
none
- 不顯示 背景圖像。
- 如果一個(gè) 指定的圖像 無法被繪制,瀏覽器會(huì) 等同于其值被設(shè)為
none
。- (比如,被指定的 URI 所表示的文件 無法被加載)
- 如果一個(gè) 指定的圖像 無法被繪制,瀏覽器會(huì) 等同于其值被設(shè)為
- 不顯示 背景圖像。
- ③ 繼承:
inherit
- 從父元素 繼承
background-image
屬性的設(shè)置。
- 從父元素 繼承
- ④ 漸變圖像
- gradient 相關(guān)的方法 生成的 漸變圖像
- ① 圖像路徑/地址:
- 關(guān)鍵點(diǎn):路徑url 不顯示 繼承
- ⑹ 背景圖像不可用的 預(yù)防措施 (回退)
- ① 設(shè)置 背景顏色:
- 設(shè)置一種 可用的背景顏色
background-color
- 假如 背景圖像不可用,頁面也可以獲得 良好的視覺效果。
- 設(shè)置一種 可用的背景顏色
- ② 不顯示背景色 也要設(shè)置 (圖像的回退):
- 即使圖像是不透明的,背景色 在通常情況下 并不會(huì)被顯示,開發(fā)者仍然應(yīng)該 指定 背景顏色
background-color
屬性。 - 如果圖像無法被加載—例如,在網(wǎng)絡(luò)連接斷開的情況下—背景色 就會(huì)被繪制。
- 即使圖像是不透明的,背景色 在通常情況下 并不會(huì)被顯示,開發(fā)者仍然應(yīng)該 指定 背景顏色
- ① 設(shè)置 背景顏色:
- ⑺ 背景圖像 相關(guān)屬性
-
① 設(shè)置 背景圖像:
background-image
- 在元素的背景中 設(shè)置一個(gè)圖像
-
② 圖像的 重復(fù)方式:
background-repeat
- 可以 沿著某個(gè)軸(x 軸或 y 軸)平鋪重復(fù),或者根本不重復(fù)。
-
③ 圖像的 位置:
background-position
- 根據(jù)
background-position
屬性的值放置。
- 根據(jù)
-
④ 圖像/背景色的 裁剪/繪制 區(qū)域:
background-clip
-
- ⑻ 多背景圖像的 使用
- ① 逗號(hào) 分隔: 一個(gè)
background-image
指定 多個(gè)背景圖像,用 逗號(hào),
分隔 多個(gè)背景地址. - ② z 方向 堆疊: 在繪制時(shí),圖像以 z 方向 堆疊的方式進(jìn)行。
- ③ 代碼在前,顯示在上: 先指定的圖像 會(huì)在之后指定的圖像 上面繪制。
- 因此 指定的 第一個(gè)圖像“最接近用戶”。
- ① 逗號(hào) 分隔: 一個(gè)
-
⑼ 和背景圖像的 相對(duì)位置
- ① 邊框在 背景圖像之上:
- 元素的邊框
border
會(huì)在 背景圖像之上 被繪制
- 元素的邊框
- ② 背景顏色 在背景圖像之下:
- 背景顏色
background-color
會(huì)在 背景圖像之下 繪制。
- 背景顏色
- ③ 位置關(guān)系: 邊框(最上方,最接近用戶) > 背景圖像 > 背景顏色
- 背景圖像 無法覆蓋 邊框
- 背景顏色 無法覆蓋 背景圖像
- ① 邊框在 背景圖像之上:
-
⑽ 圖像和盒子:
- 圖像的繪制 與 盒子 以及 盒子的邊框 的關(guān)系,需要在 CSS 屬性
background-clip
和background-origin
中定義。
- 圖像的繪制 與 盒子 以及 盒子的邊框 的關(guān)系,需要在 CSS 屬性
- 示例1: 同時(shí)設(shè)置 兩個(gè)背景圖片
#lizard{ background-image: url("../images/lizard.png"), url("../images/star.png"); }
- 兩個(gè)都是 矢量圖,圖片背景 都是透明的
- 代碼在前,顯示在上: 代碼在前面的 圖像,顯示在上方.
-
如果背景圖像的 背景 不是透明的(比如 其他部分 是白色 ≠透明色),可能會(huì)完全遮蓋會(huì)下方的圖像.
- 示例2: 同時(shí)設(shè)置 兩個(gè)背景圖像,并 分別設(shè)置 不同的 重復(fù)方式.
#lizard{ background-image: url("../images/四葉草背景.png"), url("../images/lizard.png"); background-repeat: no-repeat,repeat; }
- 背景不透明的 遮蓋性:
- 因?yàn)?四葉草 不是背景透明的圖片(整個(gè)圖片的 其余部分是 白色).所以除了 四葉草 ,其余部分 也遮蓋了一部分 下方的圖像.
- 關(guān)聯(lián)知識(shí):
<image>
css 圖像 數(shù)據(jù)類型- CSS的
<image>
圖像 數(shù)據(jù)類型- 描述的是 2D 圖形。
- 表示一個(gè) 二維 圖像。
- CSS 中的 兩種類型的圖像:
- ① 簡單的 靜態(tài) 圖像
- 經(jīng)常用
URL
引用
- 經(jīng)常用
- ② 動(dòng)態(tài)生成 的 圖像
- 比如 DOM 樹的部分元素 樣式漸變 或者 計(jì)算樣式產(chǎn)生
- 使用 gradient 相關(guān)的方法 或
element()
生成
- 附加的 CSS圖像函數(shù)
- 包括
image()
、image-set()
和cross-fade()
。
- 包括
- ① 簡單的 靜態(tài) 圖像
- CSS的
-
圖像搭配的 CSS屬性
background-image
、border-image
、content
、cursor
和list-style-image
。- 一個(gè) < image > CSS 圖像 數(shù)據(jù)類型 的分類
<image
> =<url> | <image()> | <image-set()> | <element()> | <cross-fade()> | <gradient>
- ① 使用url()方法: (常用,熟記)
- 用
url
引用的圖像
- 用
- ② gradient 相關(guān)的方法 生成的圖像 (常用,熟記)
- ③ element()方法: (實(shí)驗(yàn)中 方法)
-
頁面的一個(gè)部分,定義在
element()
方法中;
-
- ④ image() 函數(shù) (實(shí)驗(yàn)中 方法)
-
由
image()
函數(shù)定義的 一種圖像、圖像片段 或 顏色的實(shí)色塊
-
- ⑤ cross-fade() 函數(shù)
-
由
cross-fade()
函數(shù) 定義的 兩個(gè)或多個(gè)圖像的 混合。
-
- ⑥ image-set() 函數(shù)
- 根據(jù)
image-set()
函數(shù)定義的分辨率進(jìn)行選擇的圖像。
- 根據(jù)
-
圖像類型值的 瀏覽器支持