亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

什么是前輩元素?為什么前輩元素必須是relative,相對參照的是absolute?

什么是前輩元素?為什么前輩元素必須是relative,相對參照的是absolute?

完全不明白啊,難道不是參照的絕對定位(不動的),而相對參照的才是相對定位嗎(按照參照定位元素來定位)?

正在回答

7 回答

首先建立參考系,就是relative,一起發生移動就是absolute

0 回復 有任何疑惑可以回復我~

什么是絕對定位:

如果想為元素設置層模型中的絕對定位,需要設置position:absolute(表示絕對定位),這條語句的作用將元素從文檔流中拖出來,然后使用left、right、top、bottom屬性相對于其最接近的一個具有定位屬性的父包含塊進行絕對定位。如果不存在這樣的包含塊,則相對于body元素,即相對于瀏覽器窗口

首先你得理解絕對定位到底是怎么回事。

分析一下老師給的定義:

將元素從文檔流中拖出來:

意味著這個元素它不會占用原來的位置(和相對定位做對比)

相對于其最接近的一個具有定位屬性的父包含塊進行絕對定位:

最接近:就是離得最近的

具有定位屬性:意味著在css中需要設置position是什么(absolute/relative/fixed)

父包含塊:意味著參考塊包含著定位塊。

如果不存在這樣的包含塊,則相對于body元素,即相對于瀏覽器窗口

這樣的塊是什么塊?

這樣的快必須同時滿足兩個條件:

  1. 具有定位屬性

  2. 是父包含塊

如果找不到,那就相對于body元素定位。

<div id="box1">

????????????<div id="box2">

????????????????????<div id="box3">?</div>

????????????</div>

?</div>

例如上面這段代碼,假設box3為定位塊,box1是參考塊,那么box1就應該包含box3.同理,如果你想把box2作為參考塊,那么box2也得包含著box3.

(這時,box2,box1都滿足條件“是box3的父包含塊”,但是還不滿足條件“具有定位屬性”,如果想把box2或者box2,box1作為參考塊,還要給他們添加定位屬性,如下)

<style type="text/css">

? ? #box1{positon:abosute}

</style>

(這時,box1既滿足條件“父包含塊”,也滿足條件“具有定位屬性”,那么box1就可以作為參考塊了;而box2,依舊不滿足“具有定位屬性”,盡管box2離box3是最近的,但是依然不能作為參考塊。)


綜上:只要參考塊是定位塊的父包含塊,并且具有定位屬性,那就可以作為參考塊。至于是否一定要設置為position:relative,是不一定的。

定位塊,你要做相對參考塊的定位,那么可以用absolute或者relative,未必一定是absolute,不能用fixed,因為fixed是相對于瀏覽器窗口的,才不管你參考塊是什么。

15 回復 有任何疑惑可以回復我~

(1)前輩元素定義得很形象啊,除了父元素外,還有父元素的父元素、與父元素共父元素的元素以及更外層的元素。(2)樓上AirLuo的解釋非常形象,只不過考慮到其他前輩元素時,你得說明一下,前輩元素設為relative是相對于它自己的前輩元素,而定位元素則是相對于當前的前輩元素設置的absolute。


1 回復 有任何疑惑可以回復我~

absplute是不移動的,所以作為兒子,relative是可以移動的,所以做為爸爸,當你在編寫頁面的時候需要把爸爸移動,兒子是會跟著走的,不然你還要在編寫一下兒子弄到爸爸那,

0 回復 有任何疑惑可以回復我~

首先,我想告訴你的是,如果父級元素是絕對定位(absolute)或者沒有設置,里面的絕對定位(absolute)自動以body定位。這句話是錯的。
正確的是:只要父級元素設了position并且不是static(默認既是static),那么設定了absolute的子元素即以此為包含塊(最近的)。
絕對定位(Absolute positioning)元素定位的參照物是其包含塊,既相對于其包含塊進行定位,不一定是其父元素。

1 回復 有任何疑惑可以回復我~

櫥窗=瀏覽器,一盒煙=relative,煙盒里的煙=absolute。這時候從櫥窗中挪動一盒煙。

所以煙盒是在櫥窗里,相對它原來的位置發生了移動,即相對位置relative

因為煙盒包括煙(父類),而煙盒里的煙也和煙盒一起發生了移動,是因為煙相對煙盒是絕對位置,即absolute

6 回復 有任何疑惑可以回復我~

父元素當然jiu是前輩元素

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

什么是前輩元素?為什么前輩元素必須是relative,相對參照的是absolute?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號