1、CSS Backgrounds(背景)
CSS 背景屬性用于定義HTML元素的背景。
1、CSS 屬性定義背景效果:
| background | 簡寫屬性,作用是將背景屬性設置在一個聲明中。 |
| background-attachment | 背景圖像是否固定或者隨著頁面的其余部分滾動。 |
| background-color | 設置元素的背景顏色。 |
| background-image | 把圖像設置為背景。 |
| background-position | 設置背景圖像的起始位置。 |
| background-repeat | 設置背景圖像是否及如何重復。 |
CSS 背景屬性
2、背景色
可以使用 background-color 屬性為元素設置背景色。這個屬性接受任何合法的顏色值。
這條規則把元素的背景設置為灰色:
p {background-color: gray;}如果希望背景色從元素中的文本向外少有延伸,只需增加一些內邊距:
p {background-color: gray; padding: 20px;}CSS中,顏色值通常以以下方式定義:
- 十六進制 - 如:"#ff0000"
- RGB - 如:“rgb(255,0,0)”
- 顏色名稱 - 如:“red”
實例:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style type="text/css"> h1 {background-color:#6495ed; } p {background-color:#e0ffff; } div {background-color:#b0c4de; } </style> </head> <body> <h1>BACKGROUND-COLOR</h1> <div> 該文本插入在div元素中 <p>不同的顏色,在同一個div</p> </div></body> </html>
可以為所有元素設置背景色,這包括 body 一直到 em 和 a 等行內元素。
background-color 不能繼承,其默認值是 transparent。transparent 有“透明”之意。也就是說,如果一個元素沒有指定背景色,那么背景就是透明的,這樣其祖先元素的背景才能可見。
3、背景圖像
要把圖像放入背景,需要使用 background-image 屬性。
background-image 屬性的默認值是 none,表示背景上沒有放置任何圖像。
如果需要設置一個背景圖像,必須為這個屬性設置一個 URL 值:
body {background-image: url(/i/eg_bg_04.gif);}大多數背景都應用到 body 元素,不過并不僅限于此。
下面例子為一個段落應用了一個背景,而不會對文檔的其他部分應用背景:
p.flower {background-image: url(/i/eg_bg_03.gif);}您甚至可以為行內元素設置背景圖像,下面的例子為一個鏈接設置了背景圖像:
a.radio {background-image: url(/i/eg_bg_07.gif);}理論上講,甚至可以向 textareas 和 select 等替換元素的背景應用圖像,不過并不是所有用戶代理都能很好地處理這種情況。
另外還要補充一點,background-image 也不能繼承。事實上,所有背景屬性都不能繼承。
4、背景重復
如果需要在頁面上對背景圖像進行平鋪,可以使用 background-repeat 屬性。
屬性值 repeat 導致圖像在水平垂直方向上都平鋪,就像以往背景圖像的通常做法一樣。
repeat-x 和 repeat-y 分別導致圖像只在水平或垂直方向上重復,no-repeat 則不允許圖像在任何方向上平鋪。
默認地,背景圖像將從一個元素的左上角開始。請看下面的例子:
body{ background-image: url(/i/eg_bg_03.gif);background-repeat: repeat-y;} <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style type="text/css"> body{background-image: url("image/1.png");background-repeat: repeat-y } </style> </head> <body></body> </html>5、背景定位
可以利用 background-position 屬性改變圖像在背景中的位置。
下面的例子在 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聲明中的指定的點對齊。
6、背景關聯
如果文檔比較長,那么當文檔向下滾動時,背景圖像也會隨之滾動。當文檔滾動到超過圖像的位置時,圖像就會消失。
您可以通過 background-attachment 屬性防止這種滾動。通過這個屬性,可以聲明圖像相對于可視區是固定的(fixed),因此不會受到滾動的影響,簡單點說就是圖像不會隨頁面的其余部分滾動:
body {background-image:url(/i/eg_bg_02.gif);background-repeat:no-repeat;background-attachment:fixed}7、背景實例
1、如何使用%來定位背景圖像
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style type="text/css"> body{background-image: url("image/3.jpg");background-repeat: no-repeat;background-attachment: fixed;background-position: 30% 20%; } </style> </head> <body> <p><b>注釋:</b>為了在 Mozilla 中實現此效果,background-attachment 屬性必須設置為 "fixed"。</p> </body> </html>總結
以上是生活随笔為你收集整理的1、CSS Backgrounds(背景)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 7、CSS 属性选择器
- 下一篇: 2、CSS 文本