W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
當(dāng)需要往頁面組件內(nèi)添加一個圖片作為組件背景的時候,開發(fā)者可以對這個圖片背景的大小、重復(fù)放置的模式、放置位置進(jìn)行調(diào)整,也可以直接添加能自適應(yīng)的 9-patch 圖片。
該屬性定義了背景圖片的大小。
參數(shù)的個數(shù)可以是一個或兩個。
有效參數(shù)列表如下:
參數(shù) | 語義 | ||||
---|---|---|---|---|---|
contain
|
等比例縮放背景圖片以完全裝入容器,可能容器部分顯示空白(僅作為單一參數(shù)) | ||||
cover
|
等比例縮放背景圖片以完全覆蓋容器,可能背景圖片部分不可見(僅作為單一參數(shù)) | ||||
auto
|
表示保持原圖的尺寸不變 | ||||
<length>
|
描述圖片的具體尺寸,單位:px | ||||
<percent>
|
描述圖片的尺寸占容器對應(yīng)方向尺寸的百分比 |
當(dāng)參數(shù)為兩個的時候,第一個參數(shù)默認(rèn)解析為水平軸的寬,第二個參數(shù)默認(rèn)解析為豎直軸的高,如果只有一個參數(shù),則將?auto
?補充為第二個參數(shù),然后按照雙參數(shù)的規(guī)則解析。
無效參數(shù)統(tǒng)一解析為默認(rèn)值?auto
?,即原圖尺寸。
該屬性定義了背景圖片在組件中的重復(fù)方式,背景圖片可以沿著水平軸、豎直軸、兩個軸重復(fù),或者不重復(fù)。
參數(shù)的個數(shù)為一個。
有效參數(shù)列表如下:
參數(shù) | 語義 |
---|---|
repeat
|
在水平軸和豎直軸上同時重復(fù)繪制圖片 |
repeat-x
|
只在水平軸上重復(fù)繪制 |
repeat-y
|
只在豎直軸上重復(fù)繪制 |
no-repeat
|
不會重復(fù)繪制圖片 |
無效參數(shù)會被解析為默認(rèn)值,即repeat。
<div class="container">
<div class="img"></div>
</div>
<style>
.container {
width: 365px;
height: 365px;
background-color: #c7c7c7;
}
.img {
width: 100%;
height: 100%;
background-image: url('../Common/logo.png');
/* 等比例縮放背景圖片到寬度為組件寬的一半 */
background-size: 50%;
/* 在水平方向和豎直方向上重復(fù)繪制 */
background-repeat: repeat;
/* 背景圖片處于組件中央 */
background-position: center;
}
</style>
.img {
width: 100%;
height: 100%;
background-image: url('../Common/logo.png');
/* 等比例縮放背景圖片到寬度為100px */
background-size: 100px;
/* 背景圖片不重復(fù)繪制 */
background-repeat: no-repeat;
/* 背景圖片距離組件左邊緣20px,和上下邊緣的距離比為3:7 */
background-position: left 20px top 30%;
}
該屬性定義了背景圖片在組件中的位置。
屬性參數(shù)的個數(shù)可以是 1-4 個。
使用參數(shù)描述某個軸方向的位置,有如下兩種方式:
第一種方式:位置標(biāo)識 + 具體數(shù)值
位置標(biāo)識作用是解釋后面的具體數(shù)值參數(shù)表示的位置,這里指的是位置標(biāo)識對應(yīng)邊緣的相對位置,具體為left、right、top、bottom其中之一。
具體數(shù)值指的是以 px 和%結(jié)尾的具體數(shù)值,即<length>和<percent>類型。
為了方便理解,舉兩個具體的例子進(jìn)行說明,如下表:
參數(shù) | 描述 |
---|---|
left 20px | 圖片在水平軸方向上,距離左邊緣 20px |
top 30% | 圖片在豎直軸方向上,與上下邊緣的距離比例,等于 30%比 70% |
第二種方式:位置參數(shù)
位置參數(shù)表示一個具體的位置信息,具體為?<length>?
?其中之一,位置參數(shù)可以被解析為一個位置標(biāo)識加上一個具體數(shù)值,對應(yīng)關(guān)系如下表。、
?<percent>?、
?left?、
?right?、
?top?、
?bottom?、
?center
位置參數(shù) | 位置標(biāo)識 + 具體數(shù)值 |
---|---|
<length>
|
待定位置標(biāo)識 + <length>
|
<percent>
|
待定位置標(biāo)識 + <percent>
|
left
|
left + 0px |
right
|
right + 0px |
top
|
top + 0px |
bottom
|
bottom + 0px |
center
|
待定位置標(biāo)識 + 50% |
從參數(shù)的個數(shù)來看,可以將有效參數(shù)分為四個類型:
一個參數(shù):(位置參數(shù)),解析的時候,將center添加到第二個參數(shù),然后作為兩個參數(shù)解析。
兩個參數(shù):(位置參數(shù),位置參數(shù)),解析的時候,展開位置參數(shù),擴展為四個參數(shù)解析。
三個參數(shù):(位置參數(shù),位置標(biāo)識,具體數(shù)值)或者(位置標(biāo)識,具體數(shù)值,位置參數(shù)),解析的時候,展開位置參數(shù),擴展為四個參數(shù)解析。
四個參數(shù):(位置標(biāo)識,具體數(shù)值,位置標(biāo)識,具體數(shù)值),需要注意的是,這兩個位置標(biāo)識不能表示同一個軸的方向。
無效參數(shù)全部解析為默認(rèn)值(0px, 0px),即圖片顯示在組件的左上角。
查看 示例代碼
9-patch 圖概念來自于 Android,這種圖片可以被自適應(yīng)拉伸,并且能夠自定義內(nèi)容在圖片中的展示區(qū)域位置。
background-image 屬性支持 9-patch 圖片,請確保提供名稱以”.9.png“結(jié)尾的標(biāo)準(zhǔn) 9-patch 圖。
圖片四周邊緣留有 1 像素的信息區(qū)域。信息區(qū)域底色為透明,黑色標(biāo)識區(qū)域信息,左邊緣和上邊緣標(biāo)識圖片的拉伸區(qū)域,右邊緣和下邊緣標(biāo)識圖片的內(nèi)容區(qū)域,設(shè)置及效果如下圖聊天氣泡樣例所示。
9-patch 圖的制作可以借助 Android Studio 來完成。
頁面元素額外設(shè)置的 padding 屬性,會覆蓋.9 圖攜帶的 padding 信息。
9-patch 圖會導(dǎo)致 background-size 和 background-repeat 屬性失效,因為 9-patch 圖會自適應(yīng)鋪滿組件。
查看 示例代碼
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: