課程
/前端開發
/HTML/CSS
/初識HTML(5)+CSS(3)-升級版
什么是前輩元素?為什么前輩元素必須是relative,相對參照的是absolute?
完全不明白啊,難道不是參照的絕對定位(不動的),而相對參照的才是相對定位嗎(按照參照定位元素來定位)?
2016-08-03
源自:初識HTML(5)+CSS(3)-升級版 13-9
正在回答
首先建立參考系,就是relative,一起發生移動就是absolute
什么是絕對定位:如果想為元素設置層模型中的絕對定位,需要設置position:absolute(表示絕對定位),這條語句的作用將元素從文檔流中拖出來,然后使用left、right、top、bottom屬性相對于其最接近的一個具有定位屬性的父包含塊進行絕對定位。如果不存在這樣的包含塊,則相對于body元素,即相對于瀏覽器窗口
什么是絕對定位:
如果想為元素設置層模型中的絕對定位,需要設置position:absolute(表示絕對定位),這條語句的作用將元素從文檔流中拖出來,然后使用left、right、top、bottom屬性相對于其最接近的一個具有定位屬性的父包含塊進行絕對定位。如果不存在這樣的包含塊,則相對于body元素,即相對于瀏覽器窗口
首先你得理解絕對定位到底是怎么回事。
分析一下老師給的定義:
將元素從文檔流中拖出來:
意味著這個元素它不會占用原來的位置(和相對定位做對比)
相對于其最接近的一個具有定位屬性的父包含塊進行絕對定位:
最接近:就是離得最近的
具有定位屬性:意味著在css中需要設置position是什么(absolute/relative/fixed)
父包含塊:意味著參考塊包含著定位塊。
如果不存在這樣的包含塊,則相對于body元素,即相對于瀏覽器窗口
這樣的塊是什么塊?
這樣的快必須同時滿足兩個條件:
具有定位屬性
是父包含塊
如果找不到,那就相對于body元素定位。
<div id="box1">????????????<div id="box2">????????????????????<div id="box3">?</div>????????????</div>?</div>
<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>
<style type="text/css">
? ? #box1{positon:abosute}
</style>
(這時,box1既滿足條件“父包含塊”,也滿足條件“具有定位屬性”,那么box1就可以作為參考塊了;而box2,依舊不滿足“具有定位屬性”,盡管box2離box3是最近的,但是依然不能作為參考塊。)
綜上:只要參考塊是定位塊的父包含塊,并且具有定位屬性,那就可以作為參考塊。至于是否一定要設置為position:relative,是不一定的。
定位塊,你要做相對參考塊的定位,那么可以用absolute或者relative,未必一定是absolute,不能用fixed,因為fixed是相對于瀏覽器窗口的,才不管你參考塊是什么。
(1)前輩元素定義得很形象啊,除了父元素外,還有父元素的父元素、與父元素共父元素的元素以及更外層的元素。(2)樓上AirLuo的解釋非常形象,只不過考慮到其他前輩元素時,你得說明一下,前輩元素設為relative是相對于它自己的前輩元素,而定位元素則是相對于當前的前輩元素設置的absolute。
absplute是不移動的,所以作為兒子,relative是可以移動的,所以做為爸爸,當你在編寫頁面的時候需要把爸爸移動,兒子是會跟著走的,不然你還要在編寫一下兒子弄到爸爸那,
首先,我想告訴你的是,如果父級元素是絕對定位(absolute)或者沒有設置,里面的絕對定位(absolute)自動以body定位。這句話是錯的。正確的是:只要父級元素設了position并且不是static(默認既是static),那么設定了absolute的子元素即以此為包含塊(最近的)。絕對定位(Absolute positioning)元素定位的參照物是其包含塊,既相對于其包含塊進行定位,不一定是其父元素。
櫥窗=瀏覽器,一盒煙=relative,煙盒里的煙=absolute。這時候從櫥窗中挪動一盒煙。
所以煙盒是在櫥窗里,相對它原來的位置發生了移動,即相對位置relative
因為煙盒包括煙(父類),而煙盒里的煙也和煙盒一起發生了移動,是因為煙相對煙盒是絕對位置,即absolute
父元素當然jiu是前輩元素
舉報
HTML(5)+CSS(3)基礎教程8小時帶領大家步步深入學習標簽用法和意義
1 回答參照定位的元素必須是相對定位元素的前輩元素,為什么不可以是絕對定位元素(absolute)呢?
4 回答前輩元素是什么
5 回答絕對定位必須遵守以下規范,1、參照定位的元素必須是相對定位元素的前輩元素,2、參照定位的元素必須加入position:relative;
2 回答前輩元素的概念是什么啊
3 回答參照的前輩元素如何確定
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-08-14
首先建立參考系,就是relative,一起發生移動就是absolute
2016-08-05
首先你得理解絕對定位到底是怎么回事。
分析一下老師給的定義:
將元素從文檔流中拖出來:
意味著這個元素它不會占用原來的位置(和相對定位做對比)
相對于其最接近的一個具有定位屬性的父包含塊進行絕對定位:
最接近:就是離得最近的
具有定位屬性:意味著在css中需要設置position是什么(absolute/relative/fixed)
父包含塊:意味著參考塊包含著定位塊。
如果不存在這樣的包含塊,則相對于body元素,即相對于瀏覽器窗口
這樣的塊是什么塊?
這樣的快必須同時滿足兩個條件:
具有定位屬性
是父包含塊
如果找不到,那就相對于body元素定位。
例如上面這段代碼,假設box3為定位塊,box1是參考塊,那么box1就應該包含box3.同理,如果你想把box2作為參考塊,那么box2也得包含著box3.
(這時,box2,box1都滿足條件“是box3的父包含塊”,但是還不滿足條件“具有定位屬性”,如果想把box2或者box2,box1作為參考塊,還要給他們添加定位屬性,如下)
(這時,box1既滿足條件“父包含塊”,也滿足條件“具有定位屬性”,那么box1就可以作為參考塊了;而box2,依舊不滿足“具有定位屬性”,盡管box2離box3是最近的,但是依然不能作為參考塊。)
綜上:只要參考塊是定位塊的父包含塊,并且具有定位屬性,那就可以作為參考塊。至于是否一定要設置為position:relative,是不一定的。
定位塊,你要做相對參考塊的定位,那么可以用absolute或者relative,未必一定是absolute,不能用fixed,因為fixed是相對于瀏覽器窗口的,才不管你參考塊是什么。
2016-08-03
(1)前輩元素定義得很形象啊,除了父元素外,還有父元素的父元素、與父元素共父元素的元素以及更外層的元素。(2)樓上AirLuo的解釋非常形象,只不過考慮到其他前輩元素時,你得說明一下,前輩元素設為relative是相對于它自己的前輩元素,而定位元素則是相對于當前的前輩元素設置的absolute。
2016-08-03
absplute是不移動的,所以作為兒子,relative是可以移動的,所以做為爸爸,當你在編寫頁面的時候需要把爸爸移動,兒子是會跟著走的,不然你還要在編寫一下兒子弄到爸爸那,
2016-08-03
首先,我想告訴你的是,如果父級元素是絕對定位(absolute)或者沒有設置,里面的絕對定位(absolute)自動以body定位。這句話是錯的。
正確的是:只要父級元素設了position并且不是static(默認既是static),那么設定了absolute的子元素即以此為包含塊(最近的)。
絕對定位(Absolute positioning)元素定位的參照物是其包含塊,既相對于其包含塊進行定位,不一定是其父元素。
2016-08-03
櫥窗=瀏覽器,一盒煙=relative,煙盒里的煙=absolute。這時候從櫥窗中挪動一盒煙。
所以煙盒是在櫥窗里,相對它原來的位置發生了移動,即相對位置relative
因為煙盒包括煙(父類),而煙盒里的煙也和煙盒一起發生了移動,是因為煙相對煙盒是絕對位置,即absolute
2016-08-03
父元素當然jiu是前輩元素