日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

深入理解position:relative 与 position:absolute(divb相对于diva进行绝对定位)

發(fā)布時間:2025/4/16 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 深入理解position:relative 与 position:absolute(divb相对于diva进行绝对定位) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
position 有三個值,static(靜態(tài))、relative(相對)、absolute(絕對);由于static是所有頁面元素的默認值,因此設置元素的定位類型時幾乎不用這個值,除非用于覆蓋之前的定義。對于后兩者,一般應用:在一個相對定位的元素里面放置一個絕對定位的元素,如圖: ?????????????????????????????????? ? ?   子元素B可以通過top、right、bottom、left來精確定位,定位的參考目標就是其具有相對定位屬性的父級元素A;并且設置這些偏移后,產(chǎn)生的空隙會被后面的元素填充(如果后面的元素足夠尺寸的話)。由于B元素具有absolute定位屬性,相當于從文檔流中抽取出來,浮動在原平面排版上,形成“層”,如果有多個“層”,層與層之間就必然會有誰覆蓋誰,誰在上誰在下的競爭關系,因此,為解決這個競爭,就產(chǎn)生了 z-index(空間坐標系的Z軸) 屬性,誰的值大,誰就在上面。另外,如果父級元素A沒有設置relative,那么B元素就會以body標簽當作參考點。

  對于具有position:relative屬性的元素A,其top、right、bottom、left四個方向的位置偏移就會以該元素的原來位置作為參考點,而不是像上面說的,以具有relative定位屬性的父級元素或body作為參考點。在設置了偏移后產(chǎn)生了空隙,其周圍的元素并不會填充這些空隙,即使它們足夠尺寸(演示)。
  值得注意的是,此時元素A的margin,margin將作用于該元素的原來位置,由于原位置產(chǎn)生偏移,該元素的最終位置將是margin與top、right、bottom、left共同作用后的位置,并且其周圍元素的位置也將產(chǎn)生影響。

  回過頭來再看看 relative 里面的 absolute,比如上面的A、B兩個元素,如果兩個元素都設置了top、right、bottom、left,對于元素B來說,其位置偏移的參考點是元素A偏移后的位置,不是元素A的原位置,同樣,如果元素B有margin,其參考點也是元素A偏移后的位置,這點很重要,這才是absolute的概念(演示)。



=======================================================


用Div+CSS進行網(wǎng)站布局時,做一些浮動層等特殊特殊效果時要考慮到定位問題。這就要用到Position屬性等。 Position屬性有四個值: static、fixed、absolute和relative,后面兩個在布局中的定位里是經(jīng)常用到的,顧名思義,absolute是指絕對定位,即將對象從文檔流中拖出,使用left,right,top,bottom等屬性進行絕對定位,而其層疊通過z-index屬性定義。此時對象不具有邊距,但仍有補白和邊框。ralative是指相對定位,就是依據(jù)left,right,top,bottom等屬性在正常文檔流中偏移位置。
  但是,怎么個絕對法,又怎么個相對法呢?以前我一直沒有仔細去研究它,到具體應用時有時會有點迷糊,我相信很多朋友也會有這樣的問題。今天我特意測試了一下,得出了以下結(jié)論:
1、當Position屬性值為Relative時
對象原來占有的位置保留,其后面的對象按原來文檔流仍然保持原來的位置
Top的值表示對象相對原位置向下偏移的距離
bottom的值表示對象相對原位置向上偏移的距離
兩者同時存在時,只有Top起作用。
left的值表示對象相對原位置向右偏移的距離
right的值表示對象相對原位置向左偏移的距離
兩者同時存在時,只有l(wèi)eft起作用。
2、當Position屬性值為absolute時
對象從文檔流中抽取出來,原占有的位置被后面的對象頂替上來
Top的值表示對象上邊框與瀏覽器窗口頂部的距離
bottom的值表示對象下邊框與瀏覽器窗口底部的距離
兩者同時存在時,只有Top起作用;如果兩者都未指定,則其頂端將與原文檔流位置一致,即垂直保持位置不變。
left的值表示對象左邊框與瀏覽器窗口左邊的距離
right的值表示對象右邊框與瀏覽器窗口右邊的距離
兩者同時存在時,只有l(wèi)eft起作用;如果兩者都未指定,則其左邊將與原文檔流位置一致,即水平保持位置不變。
  在Position屬性值為absolute的同時,如果有一級父對象(無論是父對象還是祖父對象,或者再高的輩分,一樣)的Position屬性值為Relative時,則上述的相對瀏覽器窗口定位將會變成相對父對象定位,這對精確定位是很有幫助的。

轉(zhuǎn)載于:https://www.cnblogs.com/osmond/archive/2011/12/11/2283710.html

總結(jié)

以上是生活随笔為你收集整理的深入理解position:relative 与 position:absolute(divb相对于diva进行绝对定位)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。