以下內容摘自MDN。因時間原因沒能好好整理學習,先引用下來,有時間時再細細整理。
background-size 設置背景圖片大小。
復制代碼代碼如下:
/* 關鍵字 */
background-size: cover
background-size: contain
/* 一個值: 這個值指定圖片的寬度,圖片的高度隱式的為auto */
background-size: 50%
background-size: 3em
background-size: 12px
background-size: auto
/* 兩個值: 第一個值指定圖片的寬度,第二個值指定圖片的高度 */
background-size: 50% auto
background-size: 3em 25%
background-size: auto 6px
background-size: auto auto
/* 逗號分隔的多個值:設置多重背景 */
background-size: auto, auto /* 不同于background-size: auto auto */
background-size: 50%, 25%, 25%
background-size: 6px, auto, contain
background-size: inherit
Values
<length>
<length> 值,指定背景圖片大小,不能為負值。
<percentage>
<percentage> 值,指定背景圖片相對背景區(background positioning area)的百分比。背景區由background-origin設置,默認為盒模型的內容區與內邊距,也可設置為只有內容區,或者還包括邊框。如果attachment 為fixed,背景區為瀏覽器可視區(即視口),不包括滾動條。不能為負值。
auto
以背景圖片的比例縮放背景圖片。
cover
縮放背景圖片以完全覆蓋背景區,可能背景圖片部分看不見。
contain
縮放背景圖片以完全裝入背景區,可能背景區部分空白。
位圖一定有固有尺寸與固有比例,矢量圖可能兩者都有,也可能只有一個。漸變視為只有固有尺寸或者只有固有比例的圖片。
背景圖片大小計算:
如果指定了 background-size 的兩個值并且不是auto:
背景圖片按指定大小渲染。
contain 或 cover:
保留固有比例,最大的包含或覆蓋背景區。如果圖像沒有固有比例,則按背景區大小。
auto 或 auto auto:
圖像如果有兩個長度,則按這個尺寸。如果沒有固有尺寸與固有比例,則按背景區的大小。如果沒有固有尺寸但是有固有比例, 效果同 contain。如果有一個長度與比例,則由此長度與比例計算大小。如果有一個長度但是沒有比例,則使用此長度與背景區相應的長度。
一個為 auto 另一個不是auto:
如果圖像有固有比例,則指定的長度使用指定值,未指定的長度由指定值與固有比例計算。如果圖像沒有固有比例,則指定的長度使用指定值,未指定的長度使用圖像相應的固有長度,若沒有固有長度,則使用背景區相應的長度。
注意,對于沒有固有尺寸或固有比例的矢量圖不是所有的瀏覽器都支持。特別注意測試Firefox 7- 與Firefox 8+,以確定不同之處能否接受。
新聞熱點
疑難解答