免费人妻精品一区二区三区-人人玩人人添人人澡东莞-很黄很色很污18禁免费-视频一区二区三区四区五区-久久99精品久久久久久9-国产97色在线 | 国-伊人七七-已婚少妇美妙人妻系列-欧美俄罗斯乱妇-奇米在线-国产精品99久久精品爆乳-欧美精品乱码视频一二专区-又大又爽又黄无码a片-粉嫩绯色av一区二区在线观看-国产爆乳无码av在线播放

CSS常用背景圖片定位方法

2016/10/8 10:12:41   閱讀:1730    發(fā)布者:1730

CSS背景圖片定位其實對于每一位學習前端的同學來說,都已經(jīng)非常熟悉了。網(wǎng)上鋪天蓋地的最常見的
一種方案就是在父元素中relative,然后子元素absolute。這種方案當然好,不過帶來的
一個缺點就是會改變元素的層級關系,如果在多個地方使用,這樣的層疊嵌套的關系會十分混亂。

 

先暫時拋棄那種方案,給大家分享幾種CSS背景圖片定位的方案。

 

整篇文章會按照如下思路:

1.無依賴的absolute定位

2.background-position擴展語法

3.background-origin定位

4.calc()定位

 

1.無依賴的absolute定位


在網(wǎng)絡上,對absolute存在這樣一個誤解,認為絕對定位absolute的使用必須要設置父元素相對定位relative。
這樣的理解不能認為是錯的,只能說對定義沒有完全認識。在W3C文檔中是這樣定義absolute的:

  生成絕對定位的元素,相對于static定位以外的第一個父元素進行定位。元素的位置通過
’left’ , ’right’ , ’bottom’ , ’top’ 屬性進行規(guī)定。

對這句話的理解應該如下(L : left,R:right,B:bottom,T:top)

a:當給一個元素設置position:absolute之后,如果父元素沒有設置position:relative,
則該元素是通過LRBT依據(jù)可視窗口區(qū)域的左上角進行定位;如果父元素設置了position:relative,
則該元素是通過LRBT依據(jù)父元素容器的左上角進行定位。

b:在生成絕對定位的元素時,不管父元素是否設置了position:relative,使用margin-top ,
margin-left , margin-right , margin-bottom其中的兩個非相反方向進行定位,其效果會像相對定位relative一樣,
根據(jù)自身位置進行定位。但是使用margin定位與relative唯一的區(qū)別就是,absolute脫離文檔流,原來的物理空間已經(jīng)消失,
而relative沒有脫離文檔流,原來的物理空間依然占據(jù)。

所以,可以使用無依賴relative的absolute進行定位,定位方法是使用margin,而不能使用LRBT。

代碼如下:

    <div class="keith"> 
        <div class="main"> 

        </div> 
    </div>
HTML
.keith { 
  margin: 2em; 
  width: 5em; 
  height: 5em; 
  background: lightgreen; 
} 

.keith .main { 
  position: absolute; 
  background: url("../images/Loginicon.png") scroll no-repeat 0 0; 
  width: 21px; 
  height: 21px; 
  margin-left: calc(5em - 25px); 
  margin-top: calc(5em - 25px); 
}

上面代碼中,使用margin-left , margin-top 與 position:absolute來對圖片進行定位。
使用了CSS3中的calc()來計算需要定位的值。

 示例圖片如下:

2.background-position擴展語法


 在CSS3背景與邊框中,background-position屬性已經(jīng)得到擴展,它允許我們指定
背景圖片距離任意角的偏移量,只要我們在偏移量前面指定關鍵字即可。

代碼如下:

<div class="keith"></div>
.keith{ 
    margin:2em; 
    width:5em; 
    height:5em; 
    background:lightgreen url(’../images/Loginicon.png’) scroll no-repeat ; 
    background-position:right 5px bottom 5px; 
};

上面代碼中,使用background-position擴展語法即可實現(xiàn)距離右下角5px距離的定位。

 

3.background-origin定位


 background-origin是CSS3中新增的屬性,主要用來決定background-position屬性的參考原點,
即決定背景圖片定位的起點。在默認情況下,背景圖片的background-position屬性總是以元素左上角為
坐標原定對背景圖片進行背景定位。

background-origin有三個屬性值content-box , padding-box(默認值) , border-box 。

看看如何使用這個屬性來對背景圖片進行右下角5px的定位,代碼如下。

<div class="keith"></div>
.keith { 
  margin: 2em; 
  width: 5em; 
  height: 5em; 
  padding: .5em; 
  background: lightgreen url("../images/my-icons/Loginicon.png") scroll no-repeat; 
  background-position: right bottom; 
  -moz-background-origin: content; 
  -o-background-origin: content-box; 
  -webkit-background-origin: content; 
  background-origin: content-box; 
  -moz-box-sizing: border-box; 
  -webkit-box-sizing: border-box; 
  box-sizing: border-box; 
}

上面代碼中,給盒子設置了padding值。使用box-sizing屬性來調(diào)整div在瀏覽器下的盒模型為IE盒模型,
border-box的意思是總寬度=content area + padding + border 。這里給background-origin屬性設置了content-box,
可能大家會不太理解,為什么不是padding-box。看一個火狐下的截圖。

上面圖片中,黃色區(qū)域的是margin,紫色區(qū)域的是padding,淺藍色區(qū)域的是content-area。
如果給元素設置了padding-box,那么此時圖片會定位在右下角,與右下角沒有任何空間。
所以此時要使用content-box進行定位。最終的效果如下。

4.calc()定位


 如果我們希望通過內(nèi)容來撐開容器的寬度和高度時,而不去固定高度和寬度時,這時需要使用
calc屬性+background-position屬性結合使用,來對圖片進行定位。因為這時候并不知道容器的高度和寬度,
只能有100%來進行計算。

<div class="keith"> 
        這是一段文字,用于撐開容器。<br> 
</div>
.keith{ 
    margin:2em; 
    padding:2em; 
    display:inline-block; 
    background:lightgreen url(’../images/Loginicon.png’) scroll no-repeat; 
    background-position:calc(100% - 5px) calc(100% - 5px); 
}

示例圖片如下:

 

主站蜘蛛池模板: 韩国午夜理伦三级在线观看仙踪林 | 一级在线| 欧美激情国产日韩精品一区18 | 欧美成年性h版影视中文字幕 | 欧产日产国产精品精品 | 精品成人在线 | 天天射夜夜爽 | 久久av网址 | 色就是色欧美 | 亚洲精品丝袜 | 欧美巨大xxxx做受中文字幕 | 亚洲产国偷v产偷v自拍色戒 | 欧美整片第一页 | 国产成人精品视频ⅴa片软件竹菊 | 狠狠色噜噜狠狠狠狠97 | 国产精品人成视频免费国产 | 中文无码字幕中文有码字幕 | 久久久777| 免费国偷自产拍精品视频 | 精品少妇爆乳无码av无码专区 | 色香蕉色香蕉在线视频 | 成人高清网站 | 久久视频在线视频精品 | 国产在线观看免费观看不卡 | 欧美色视频在线观看 | 国内精品久久久久影院优 | 一区二区三区四区精品 | 国内综合精品午夜久久资源 | 国产一区视频在线播放 | 亚洲一区二区三区香蕉 | 久久aⅴ乱码一区二区三区 黄色免费视频观看 | 欧美aaa级 | 成人aaa| 手机无码人妻一区二区三区免费 | 伊人22综合 | 国产在线无码精品电影网 | 亚洲影音 | 午夜福利无遮挡十八禁视频 | 亚洲国产va | 日韩理论视频 | www.youjizz.com亚洲 | 狠狠操在线播放 | 99视频免费 | 嘿咻嘿咻男女免费专区 | 蜜臀avwww国产天堂 | 国产丝袜无码一区二区视频 | 亚洲伊人久久大香线蕉 | 国内精品久久久久影院老司机 | 午夜肉伦伦影院 | 黄色小说网站在线观看 | a级国产毛片 | 91视频大全 | 亚洲免费在线观看av | 亚洲精品国产第一综合99久久 | 亚洲中亚洲中文字幕无线乱码 | 无码天堂亚洲国产av麻豆 | 欧美大黑b | 色成人亚洲 | 久久草av | 欧洲熟妇乱xxxxx大屁股7 | 在线播放一级片 | 亚洲自拍成人 | 国产精品人成视频免费播放 | 亚洲日本一区二区一本一道 | 国产麻豆剧传媒精品国产av | 免费无码又爽又刺激一高潮 | 被黑人猛躁10次高潮视频 | 97亚洲色欲色欲综合网 | 免费无码av片流白浆在线观看 | 娇妻在交换中哭喊着高潮 | 中文字幕在线日本 | 日韩欧美大片 | 伊人久久爱 | 亚洲精品国产精品国自产观看浪潮 | 欧美久久久 | 免费看一级黄色大片 | 色婷婷在线精品国自产拍 | 精品无人乱码一区二区三区 | 日韩欧美三级在线 | av一区二区三区四区 | 国产ts视频在线观看 | 男女下面一进一出好爽视频 | 2022国产成人精品视频人 | 人妻激情乱人伦视频 | 又色又爽又高潮久久精品 | 亚洲国产精品无码久久久不卡 | 中文字幕日韩欧美 | 精品久久久久久久久久久久久 | 天天综合亚洲色在线精品 | 鲁丝片一区二区三区免费 | 免费无码成人av在线播 | 性色av蜜臀av浪潮av老女人 | 在线男人天堂 | 国产一区免费视频 | 美女视频黄频大全免费 | 欧美性色老妇人 | 亚洲视频在线观看2018 | av网址在线免费观看 | 国产一区二区三区四区五区美女 |