97免费在线观看视频 I 午夜夫妻视频 I 久久久久久网站 I 天堂网男人 I 欧美大波大乳人奶 I 丝袜 中出 制服 人妻 美腿 I 窝窝午夜理论片影院 I 日韩在线伦理电影 I 韩国特级毛片 I 亚洲欧美另类激情 I 在线成人日韩 I 麻豆视频免费看 I 黄色生活毛片 I 极品一线天小嫩嫩真紧 I 色久天堂 I 久久久久久黄色片 I 林智妍三级露全乳电影视频 I 大肉大捧一进一出好爽视频 I 空乘伦理hd I 少妇口述与子做过爱 I 成人免费影片 I 国产精品国内免费一区二区三区 I 日韩制服一区 I 青青草福利在线 I 日本在线观看不卡视频 I 婷婷六月综合亚洲 I 国产又粗又黄又硬 I 美女扒开屁股让男子桶爽 I 欧美性午夜视频观看 I 欧美狠狠插 I 亚洲福利在线观看视频 I 无码抽搐高潮喷水流白浆 I 亚洲欧美国产日韩色伦 I 你懂的视频网站在线观看 I www.蜜桃视频在线观看 I 日本无码人妻精品一区二区蜜桃 I 久久中文字幕人妻丝袜 I 碰草在线视频 I 日韩精品成人av网站

CSS常用背景圖片定位方法

2016/10/8 10:12:41   閱讀:1726    發布者:1726

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

 

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

 

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

1.無依賴的absolute定位

2.background-position擴展語法

3.background-origin定位

4.calc()定位

 

1.無依賴的absolute定位


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

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

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

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

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

所以,可以使用無依賴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屬性已經得到擴展,它允許我們指定
背景圖片距離任意角的偏移量,只要我們在偏移量前面指定關鍵字即可。

代碼如下:

<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擴展語法即可實現距離右下角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屬性來調整div在瀏覽器下的盒模型為IE盒模型,
border-box的意思是總寬度=content area + padding + border 。這里給background-origin屬性設置了content-box,
可能大家會不太理解,為什么不是padding-box。看一個火狐下的截圖。

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

4.calc()定位


 如果我們希望通過內容來撐開容器的寬度和高度時,而不去固定高度和寬度時,這時需要使用
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); 
}

示例圖片如下:

 

主站蜘蛛池模板: 色综合视频一区二区三区 | 午夜影院h | 女女同性一区二区三区免费观看 | 欧美精品一区二区三区四区 | 久精品国产欧美亚洲色aⅴ大片 | 尤物一区二区三区精品 | 特级毛片在线播放 | 美女高潮久久 | 亚洲精品乱码久久久久久蜜桃 | 一进一出抽搐gif | 在线影院av| 你懂的在线观看网址 | 91精品中文字幕 | 黑人巨大精品欧美黑白配亚洲 | 影音先锋中文字幕无码 | 性色av无码久久一区二区三区 | 东北少妇不带套对白 | 国产在线乱码一区二区三区 | 看曰本女人大战黑人视频 | 又长又大又粗又硬3p免费视频 | 欧美色图片一区 | 无码中文字幕va精品影院 | 色狠狠五月天 | 青春草网站 | 国产亚洲一区在线 | 日韩高清亚洲日韩精品一区二区三区 | 激情按摩系列片aaaa | 婷婷久久五月 | 婷婷丁香五月天综合东京热 | 国产无av码在线观看 | 国产亚洲精品线视频在线 | 91精品视频一区二区三区 | 老司机性色福利精品视频 | 18性欧美xxxⅹ性满足 | 又色又爽又黄的视频女女 | 国产精品久久无码不卡黑寡妇 | 日本在线黄色 | 狠狠色狠狠色综合久久 | 2021年国产精品每日更新 | 二区三区四区视频 | 亚洲最大av资源网在线观看 | 国产精品成人观看视频 | 一本一生久久a久久精品综合蜜 | 亚洲伊人久久精品酒店 | 亚洲a片无码一区二区蜜桃 wwwxxx日本免费 | 涩欲国产一区二区三区四区 | 国产精品久久久国产偷窥 | 亚洲欧美成aⅴ人在线观看 久久成人a | 免费色在线 | 性妲己一级淫片免费 | 97av免费视频 | 天堂网资源 | 啪啪导航| 成年人网站在线 | 中文字幕亚洲无线码在线一区 | 欧美日韩国产成人一区 | 男人的天堂国产在线视频 | 亚洲人成绝网站色www | 精品乱码一区二区 | 日韩av中文| 久久福利片 | 久久91精品 | 午夜理论电影在线观看亚洲 | 久久久精品国产一区二区三区 | 午夜免费福利影院 | 亚洲日韩国产av无码无码精品 | 成人午夜性视频 | 久久亚洲国产精品日日av夜夜 | 黄色精品在线观看 | 16一17女人毛片 | 国产视频在线一区 | 日日夜夜噜 | 国产特级毛片aaaaaa高清 | 国产精成人品日日拍夜夜免费 | 亚洲国产精品久久一线不卡 | 久久99久久99精品免观看 | 日韩黄色免费 | 一二三四社区在线中文视频 | 大片在线观看中文字幕 | 日韩免费二区 | 色噜噜日韩精品欧美一区二区 | 色综合久久天天综合 | 两个黑人大战嫩白金发美女 | 91精品国产亚一区二区三区老牛 | 日本熟妇japanese丰满 | 国产999精品久久久影片官网 | 日韩中文字幕在线一区二区 | 五月婷婷综合在线 | 97人妻无码一区二区精品免费 | 久久国产乱子伦精品免费午夜 | 国产高清视频在线免费观看 | 国产主播奶水喷出 | 国产精品久久久久不卡无毒 | www.youjizz.com国产 | 热久久精 | 天天操夜夜夜 | 国产成人免费97在线观看 | 特黄性暴力强在线线播放 | 色综合久久无码中文字幕 |