Css3——background屬性詳解

background:背景。在css里面作為css屬性一成員,通過該屬性可設(shè)置背景圖片、背景顏色、背景圖片截取等樣式。而僅僅一個(gè)background又具有多個(gè)子屬性。

  • background-color
  • background-image
  • background-repeat
  • background-attachment
  • background-position
  • background-size(CSS3新增)
  • background-origin(CSS3新增)
  • background-clip(CSS3新增)
    background 簡(jiǎn)寫屬性可以在一個(gè)聲明中設(shè)置以上的多個(gè)的背景屬性。
    常用寫法:background:背景顏色 背景圖片 背景平鋪 背景滾動(dòng) 背景位置
    當(dāng)然了,如果不設(shè)置其中的某個(gè)值,也不會(huì)出問題,比如 background:#ff0000 url('a.png'); 也是允許的。
    下面就來將這7個(gè)子屬性詳細(xì)的介紹一下。

1. background-color

顏色名稱,如:background-color:red;
十六進(jìn)制背景色,如:background-color:#f00;;
rgb顏色,這里如果是rgba,a表示透明程度,為0全透明,為1為完全不透明,
如:background-color:rgb(255,0,0.3);;
特殊值:transparent,透明色:background-color:transparent;

2. background-image

background-image屬性用于為一個(gè)元素設(shè)置一個(gè)或多個(gè)背景圖片,多個(gè)背景圖片之間以逗號(hào)隔開。
一張圖片:background-image: url(img/a.jpg);
多張圖片:background-image: url(img/a.jpg),url(img/b.jpg);
特殊值:none,不顯示背景圖像
background-image: none;

3. background-repeat

background-repeat屬性定義背景圖像的重復(fù)方式。背景圖像可以沿著水平軸,垂直軸,兩個(gè)軸重復(fù),或者根本不重復(fù)。
常用的4個(gè)值:
repeat:水平和垂直方向都重復(fù)圖像,background-repeat: repeat;
repeat-x:水平方向重復(fù)圖像
repeat-y:垂直方向重復(fù)圖像
no-repeat:圖像不重復(fù)

4. background-attachment

規(guī)定背景圖像是否固定或者隨著頁面的其余部分滾動(dòng)。
scroll:背景圖像相對(duì)于頁面不動(dòng),會(huì)隨著網(wǎng)頁的滾動(dòng)而移動(dòng),默認(rèn)
fixed:背景圖像相對(duì)于瀏覽器窗口不動(dòng),內(nèi)容滾動(dòng)的時(shí)候背景圖像不動(dòng)
background-attachment: fixed;

5. background-position

第一個(gè)值為橫坐標(biāo),第二個(gè)值為縱坐標(biāo)。默認(rèn)值為:(0% 0%)。
如果只指定了一個(gè)值,該值將用于橫坐標(biāo)。縱坐標(biāo)將默認(rèn)為50%。
例如:background-position: right;代表背景圖右側(cè),垂直方向居中的位置。
百分比位置,如:background-position: 20% 20%;
具體像素位置, 如:background-position: 20px 20px;

6.background-size

background-size 設(shè)置背景圖片大小。圖片可以保有其原有的尺寸,或者拉伸到新的尺寸,或者在保持其原有比例的同時(shí)縮放到元素的可用空間的尺寸。

語法

單張圖片的背景大小可以使用以下三種方法中的一種來規(guī)定:

  • 使用關(guān)鍵詞 [contain]
  • 使用關(guān)鍵詞 [cover]
  • 設(shè)定寬度和高度值

當(dāng)通過寬度和高度值來設(shè)定尺寸時(shí),你可以提供一或者兩個(gè)數(shù)值:

  • 如果僅有一個(gè)數(shù)值被給定,這個(gè)數(shù)值將作為寬度值大小,高度值將被設(shè)定為[auto]
  • 如果有兩個(gè)數(shù)值被給定,第一個(gè)將作為寬度值大小,第二個(gè)作為高度值大小。

每個(gè)值可以是<length>, 是 <percentage>, 或者 [auto]

示例:

background-size: contain;
background-size: 50%;
background-size: 3em;
background-size: auto 1em;
background-size: 50% 25%;

為了設(shè)定超過一張以上的圖片尺寸時(shí),需要提供多項(xiàng)數(shù)值,它們通過逗號(hào)分隔。

background-size: 50% 25%, contain, 3em;
屬性值
<div id="box"></div>

CSS部分 背景圖片分辨率為427*640

#box {
    background-image: url(/media/examples/hand.jpg);
    width: 100%;
    height: 100%;
}

分別給box的background-size屬性添加不同的屬性值,會(huì)產(chǎn)生不同的效果。

1、長(zhǎng)度:可以用px、em、rem等指定背景圖片大小,不能為負(fù)值。


2、百分比:指定背景圖片相對(duì)背景區(qū)(參照盒子的寬高)的百分比。背景區(qū)由[background-origin] 設(shè)置,默認(rèn)為盒模型的內(nèi)容區(qū)與內(nèi)邊距,也可設(shè)置為只有內(nèi)容區(qū),或者還包括邊框。如果[attachment]為fixed,背景區(qū)為瀏覽器可視區(qū)(即視口),不包括滾動(dòng)條。不能為負(fù)值。

3、auto
以背景圖片的比例縮放背景圖片。

4、cover
設(shè)置為cover時(shí),會(huì)自動(dòng)調(diào)整縮放比例,保證圖片始終填充滿背景區(qū)域,如有溢出部分則會(huì)被隱藏。

5、contain
設(shè)置為contain,會(huì)自動(dòng)調(diào)整縮放比例,保證圖片始終完整顯示在背景區(qū)域。背景區(qū)可能出現(xiàn)部分空白。當(dāng)背景圖和容器的大小的不同時(shí),容器的空白區(qū)域會(huì)顯示由 background-color 設(shè)置的背景顏色。
例如:第二張圖所示當(dāng)背景顏色設(shè)置為黃色時(shí),且圖片不平鋪時(shí),空白區(qū)域會(huì)顯示為黃色。
注:圖像剛好完全顯示,一般不能覆蓋全部背景區(qū)。

7.background-clip

background-clip 裁剪,通常和background-origin一起使用,決定設(shè)置元素的背景(背景圖片或顏色)是否顯示。
注:background-clip只是將背景和背景色粗暴的裁剪。
該屬性有四個(gè)值
border-box
背景延伸至邊框外沿(但是在邊框下層)。background-origin: border-box;


padding-box
背景延伸至內(nèi)邊距(padding)外沿。不會(huì)繪制到邊框處。

content-box
背景被裁剪至內(nèi)容區(qū)(content box)外沿。

text
背景被裁剪成文字的前景色。
這個(gè)屬性只有在邊框 border被設(shè)置為非固實(shí)(soild)、透明或半透明時(shí)才能看到視覺效果,否則,本屬性產(chǎn)生的樣式變化會(huì)被邊框覆蓋。

8.background-origin

background-origin 規(guī)定了指定背景圖片[background-image] 屬性的原點(diǎn)位置的背景相對(duì)區(qū)域.
border-box
背景圖片的擺放以border區(qū)域?yàn)閰⒖?br> padding-box
背景圖片的擺放以padding區(qū)域?yàn)閰⒖?br> content-box
背景圖片的擺放以content區(qū)域?yàn)閰⒖?/p>

background-origin與background-clip的區(qū)別

origin.png

樣式:
先看一下background-origin屬性。

      .bg{
          width: 100px;
          height: 100px;
          padding:50px;
          border: 10px dashed #000000;
          background: #ffff00 url('pic1.gif') no-repeat;
          margin-top: 10px;
          display: inline-block;
        }
        .bg_origin_border{
            background-origin: border-box;
        }
        .bg_origin_padding{
            background-origin: padding-box;
        }
        .bg_origin_content{
            background-origin: content-box;
        }

先看一下background-clip屬性。


clip.png
      .bg_clip_border{
            background-clip: border-box;
        }
        .bg_clip_content{
            background-clip: content-box;
        }
        .bg_clip_padding{
            background-clip: padding-box;
        }

這就印證了background-clip只是將背景和背景色粗暴的裁剪。

好的,以上就是我對(duì)background的各個(gè)屬性的理解,實(shí)際應(yīng)用時(shí)可能會(huì)有部分出入,我們只需要掌握background-color、background-image、background-repeat、background-position、background-size這幾個(gè)常用的屬性即可。
歡迎大家一起交流,討論。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 1. 定義和用法 background是一個(gè)簡(jiǎn)寫屬性,可以在一個(gè)聲明中設(shè)置所有的背景屬性,可設(shè)置的屬性如下: 這些...
    lightNate閱讀 4,416評(píng)論 2 9
  • 一、CSS入門 1、css選擇器 選擇器的作用是“用于確定(選定)要進(jìn)行樣式設(shè)定的標(biāo)簽(元素)”。 有若干種形式的...
    寵辱不驚丶?xì)q月靜好閱讀 1,618評(píng)論 0 6
  • 話題背景:如今網(wǎng)頁展示的姿勢(shì)是這樣的 圖片來自:設(shè)計(jì)之家 炫酷的網(wǎng)頁展示,支撐它的正是強(qiáng)大的CSS3,還有什么理由...
    aliensq閱讀 2,056評(píng)論 0 2
  • background應(yīng)該是CSS里使用頻率頗高的屬性,簡(jiǎn)單實(shí)用。但參數(shù)偏多,本篇就介紹一下background的各...
    張歆琳閱讀 4,335評(píng)論 4 26
  • 今天是我作為銀行家的第三場(chǎng)游戲,扮演了一個(gè)特殊的身份:以老銀行家的身份來輔助新銀行家,作為一個(gè)“半生不熟”的...
    純純寶貝閱讀 342評(píng)論 0 4