CSS Backgrounds (背景)

2022-05-19 14:41 更新

CSS 背景


CSS 背景屬性用于定義 HTML 元素的背景。

CSS 屬性定義背景效果:

  • background-color
  • background-image
  • background-repeat
  • background-attachment
  • background-position

背景顏色

background-color 屬性定義了元素的背景顏色。

頁面的背景顏色使用在 body 的選擇器中:

實例

body {background-color:#b0c4de;}

嘗試一下 ?

CSS 中,顏色值通常以以下方式定義:

  • 十六進制 - 如:"#ff0000"
  • RGB - 如:"rgb(255,0,0)"
  • 顏色名稱 - 如:"red"

以下實例中, h1, p, 和 div元素擁有不同的背景顏色:

實例

h1 {background-color:#6495ed;}
p {background-color:#e0ffff;}
div {background-color:#b0c4de;}

嘗試一下 ?

提示:你可以為所有元素設(shè)置背景色,包括 body 一直到 ema 等行內(nèi)元素。

提示:background-color 不能繼承,其默認值是 transparent。如果一個元素沒有指定背景色,那么背景就是透明的,這樣其父元素的背景才可見。


背景圖像

background-image 屬性描述了元素的背景圖像.

默認情況下,背景圖像進行平鋪重復(fù)顯示,以覆蓋整個元素實體。

頁面背景圖片設(shè)置實例:

實例

body {background-image:url('paper.gif');}

嘗試一下 ?

下面是一個例子是一個糟糕的文字和背景圖像組合。文本可讀性差:

實例

body {background-image:url('bgdesert.jpg');}

嘗試一下 ?


背景圖像 - 水平或垂直平鋪

如果需要在 HTML 頁面上對背景圖像進行平鋪,可以使用 background-repeat 屬性。

默認情況下 background-image 屬性會在頁面的水平或者垂直方向平鋪。

一些圖像如果在水平方向與垂直方向平鋪,這樣看起來很不協(xié)調(diào),如下所示: 

實例

body
{background-image:url('gradient2.png'); }

嘗試一下 ?

如果圖像只在水平方向平鋪 (repeat-x) , 頁面背景會更好些:

實例

body
{background-image:url('gradient2.png');
background-repeat:repeat-x;}

嘗試一下 ?


背景圖像- 設(shè)置定位與不平鋪

Remark 讓背景圖像不影響文本的排版

如果你不想讓圖像平鋪,你可以使用 background-repeat 屬性:

實例

body
{background-image:url('img_tree.png');
background-repeat:no-repeat;}

嘗試一下 ?

以上實例中,背景圖像與文本顯示在同一個位置,為了讓頁面排版更加合理,不影響文本的閱讀,我們可以改變圖像的位置。

可以利用 background-position 屬性改變圖像在背景中的位置:

實例

body
{background-image:url('img_tree.png');
background-repeat:no-repeat;
background-position:right top;}

嘗試一下 ?

提示:background-position 屬性提供值有很多方法。首先,可以使用一些關(guān)鍵字:top、bottom、left、rightcenter;其次,可以使用長度值,如 100px 或 5cm;最后也可以使用百分數(shù)值。不同類型的值對于背景圖像的放置稍有差異。

關(guān)鍵字

圖像放置關(guān)鍵字最容易理解的作用就像其名字的意義。例如,top left 使圖像放置在元素內(nèi)邊距區(qū)的左上角。

只要保證不超過兩個關(guān)鍵字:一個對應(yīng)水平方向,另一個對應(yīng)垂直方向,那么你可以設(shè)置位置關(guān)鍵字以任何順序出現(xiàn)。

如果只有一個關(guān)鍵字,則會默認另一個關(guān)鍵字為 center。

所以,如果希望每個段落的中部上方出現(xiàn)一個圖像,只需聲明如下:

p        

{background-image:url('img_tree.png');        

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

百分數(shù)值

百分數(shù)值的表現(xiàn)方式更為復(fù)雜。假設(shè)你希望用百分數(shù)值將圖像在其元素中居中,你可以按照下面的代碼進行設(shè)置:

body

{background-image:url('img_tree.png');  

background-repeat:no-repeat;    

background-position:50% 50%;}

這會導(dǎo)致圖像適當放置,其中心與其元素的中心對齊。

因此,如果你想把一個圖像放在水平方向 2/3、垂直方向 1/3 處,可以這樣聲明:

body      

{background-image:url('img_tree.png');   

background-repeat:no-repeat;   

background-position:66% 33%;}

長度值

長度值解釋的是元素內(nèi)邊距區(qū)左上角的偏移,偏移點是圖像的左上角。

比如,如果設(shè)置值為 50px 100px,圖像的左上角將在元素內(nèi)邊距區(qū)左上角向右 50 像素、向下 100 像素的位置上:

body

{background-image:url('img_tree.png');

background-repeat:no-repeat;

background-position:50px 100px;}

注意,這一點與百分數(shù)值不同,因為偏移只是從一個左上角到另一個左上角。也就是說,圖像的左上角與 background-position 聲明中的指定的點對齊。


背景- 簡寫屬性

在以上實例中我們可以看到頁面的背景顏色通過了很多的屬性來控制。

為了簡化這些屬性的代碼,我們可以將這些屬性合并在同一個屬性中.

背景顏色的簡寫屬性為 "background":

實例

body {background:#ffffff url('img_tree.png') no-repeat right top;}

嘗試一下 ?

當使用簡寫屬性時,屬性值的順序為::

  • background-color
  • background-image
  • background-repeat
  • background-attachment
  • background-position

以上屬性無需全部使用,你可以按照頁面的實際需要使用.

這個實例使用了先前介紹的 CSS,你可以查看相應(yīng)實例: CSS 實例


Examples

更多實例

如何設(shè)置固定的背景圖像
本例演示如何設(shè)置固定的背景圖像。圖像不會隨著頁面的其他部分滾動。


CSS 背景屬性

Property 描述
background 簡寫屬性,作用是將背景屬性設(shè)置在一個聲明中。
background-attachment 背景圖像是否固定或者隨著頁面的其余部分滾動。
background-color 設(shè)置元素的背景顏色。
background-image 把圖像設(shè)置為背景。
background-position 設(shè)置背景圖像的起始位置。
background-repeat 設(shè)置背景圖像是否及如何重復(fù)。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號