1. <tbody id="2rkzu"></tbody>
      <dd id="2rkzu"><noscript id="2rkzu"></noscript></dd>

      <th id="2rkzu"><pre id="2rkzu"></pre></th>

      <span id="2rkzu"><p id="2rkzu"></p></span>
      <rp id="2rkzu"></rp>

      <th id="2rkzu"><kbd id="2rkzu"></kbd></th>
      <rp id="2rkzu"><ruby id="2rkzu"></ruby></rp>
      <th id="2rkzu"><pre id="2rkzu"></pre></th>

      第2章 第1節 CSS 背景

      推薦給朋友

      CSS 背景

      CSS 允許應用純色作為背景,也允許使用背景圖像創建相當復雜的效果。

      CSS 在這方面的能力遠遠在 HTML 之上。

      背景色

      可以使用 background-color 屬性為元素設置背景色。這個屬性接受任何合法的顏色值。

      這條規則把元素的背景設置為灰色:

      p {background-color: gray;}

      如果您希望背景色從元素中的文本向外少有延伸,只需增加一些內邊距:

      p {background-color: gray; padding: 20px;}

      可以為所有元素設置背景色,這包括 body 一直到 em 和 a 等行內元素。

      background-color 不能繼承,其默認值是 transparent。transparent 有“透明”之意。也就是說,如果一個元素沒有指定背景色,那么背景就是透明的,這樣其祖先元素的背景才能可見。

      背景圖像

      要把圖像放入背景,需要使用 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 也不能繼承。事實上,所有背景屬性都不能繼承。

      背景重復

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

      屬性值 repeat 導致圖像在水平垂直方向上都平鋪,就像以往背景圖像的通常做法一樣。repeat-x 和 repeat-y 分別導致圖像只在水平或垂直方向上重復,no-repeat 則不允許圖像在任何方向上平鋪。

      默認地,背景圖像將從一個元素的左上角開始。請看下面的例子:

      body
        { 
        background-image: url(/i/eg_bg_03.gif);
        background-repeat: repeat-y;
        }
      

      背景定位

      可以利用 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 聲明中的指定的點對齊。

      背景關聯

      如果文檔比較長,那么當文檔向下滾動時,背景圖像也會隨之滾動。當文檔滾動到超過圖像的位置時,圖像就會消失。

      您可以通過 background-attachment 屬性防止這種滾動。通過這個屬性,可以聲明圖像相對于可視區是固定的(fixed),因此不會受到滾動的影響:

      body 
        {
        background-image:url(/i/eg_bg_02.gif);
        background-repeat:no-repeat;
        background-attachment:fixed
        }
      

      background-attachment 屬性的默認值是 scroll,也就是說,在默認的情況下,背景會隨文檔滾動。

      CSS 背景屬性

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