【前端學習】-background

background能夠幫助前端er們豐富元素的背景,讓網頁更加絢爛,是一個使用頻率很高的屬性。首先,咱們會先介紹background-color、background-image、background-repeat、background-attachment、background-position基礎屬性。css

1 background-color : 爲元素設置背景顏色,會填充元素的內容、內邊距、邊框。若是邊框有透明部分,會透過這些透明部分顯示出背景色
值:html

color_name 如:red
    hex_number 如:#f00
    rgb_number 如:rgb(0,0,0)
    transparent 默認,透明
    inherit 繼承父元素

添加如下截圖右側代碼可看出來「若是邊框有透明部分,會透過這些透明部分顯示出背景色」前端

圖片描述

2 background-image :爲元素設置背景圖片(默認之內邊距爲起點)
值:css3

url 圖片路徑
    none 不顯示背景圖片
    inherit 父元素繼承

添加如下截圖右側代碼可看出來「默認之內邊距爲起點」
圖片描述post

3 background-repeat:是否及如何重複背景圖片(位置根據background-position設置)
值:url

repeat 默認。背景圖像將在垂直方向和水平方向重複
    repeat-x 背景圖像將在水平方向重複
    repeat-y 背景圖像將在垂直方向重複
    no-repeat 背景圖像不重複
    inherit 繼承父元素

若給元素添加透明的border,可看出來「圖片的重複會在border上起做用」
圖片描述spa

4 background-attachment 設置背景圖片是否固定或者跟隨頁面滾動(這裏通常用於body或者html上)
值:設計

scroll 跟隨頁面滾動
   fixed 固定
   inherit 繼承父元素

5 background-position :設置背景圖片的起始位置
值:code

top/left/center/right/bottom
    x% y% (相對於父元素的位置)
    xpos ypos

若給元素添加background-position:100% 100%,能夠看到背景圖片已經被定爲在元素的右下角。
圖片描述
tips:background-position通常最多運用在雪碧圖當中來移動背景圖片的位置。htm

若是咱們將該圖片當作是一張雪碧圖,想只展現從嘴巴往右及往下的部分則能夠利用background-position將圖片往左移動,將嘴巴部分移動到原點展現
圖片描述

像以上全部的屬性,其實能夠加些成如下形式:background:color image repeat fixed postion

在css3,背景相關的屬性在原有的基礎上,新增了background-size、background-origin 、background-clip 。下面一一講解一下~

6 background-size :規定背景圖像的尺寸
值:

length 第一個值是寬度,第二值是高度;若是隻設置一個值,第二個值默認是auto
    percentage 以父元素的百分比來設置寬度和高度;若是隻設置一個值,第二個值默認是auto
    cover 把背景圖像擴展至足夠大,以使背景圖像徹底覆蓋背景區域
    contain 把圖像圖像擴展至最大尺寸,以使其寬度和高度徹底適應內容區域。

6.1 將元素的background-size設置成cover,圖片(100*133)長>寬,會把圖片的最小邊去擴大至適應到元素對應的邊,將整個圖片平鋪在元素上,儘可能讓元素內填充圖片。
tips:能夠看出來背景是相對於padding-box爲起始位置繪製,不過,右側和下側的透明border還會被繪製
圖片描述

6.2 將元素的background-size設置成contain,圖片(100*133)長>寬,會把圖片的最長邊去擴大至適應到元素對應的邊,將圖片所有展現在元素上。
圖片描述

6.3 不設置background-size,圖片(225*300)長>寬,會按照圖片原始尺寸展現在元素內。
圖片描述

6.4 不設置background-size,圖片原尺寸爲:225*300,會按照設置的size展現在元素上。

tips:1.這裏用的比較多的是在移動端的背景圖片,咱們的設計師通常設計的移動端設計稿爲三倍圖。咱們在運用到頁面上時,通常會在原來的尺寸基礎上縮小三倍。
     2.這裏建議x方向設置爲具體值,y方向設置爲auto。一方面,y向的尺寸會自動計算自適應;二方面,之後雪碧圖有修改,能夠直接在y方向上增長,不用再修改代碼。不至於由於修改了圖片沒有修改代碼帶來bug。

圖片描述

7 background-origin 規定了background-position屬性相對於什麼位置來定位
值:

padding-box 相對於內邊距來定位(默認)
    border-box 相對於邊框盒來定位 
    content-box 相對於內容框來定位

給元素添加background-origin:content-box 能夠看出來,背景圖片是相對於內容框開始繪製
圖片描述

不一樣屬性設置對比
圖片描述

8 background-clip 規定背景的裁剪區域(顏色設置等)
值:

border-box 相對於內邊距來裁剪
    padding-box  相對於內邊距來裁剪
    content-box 相對於內容框來裁剪

給元素添加background-clip:content-box 能夠看出來,背景圖片仍是相對於padding-box開始繪製,只是添加這裏以後元素會裁剪背景,只展現content-box內的背景(這裏區分 background-origin 和 background-clip的區別)
圖片描述

不一樣屬性設置對比
圖片描述

相關文章
相關標籤/搜索