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

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

float 和positioning:absolute三列布局區別??

下面是自己的一點總結和問題,求大神解答!

關于三列布局總結和疑問:

總結:1,如果left不設置float或absolute,且main不設置margin,那么main會出現在left的下面,緊貼著left,且鋪滿整個瀏覽器

(原因:首先,如果不設置float 那么left存在于瀏覽器中,且div屬于塊狀元素,所以獨占一行,所以main要出現他下面,另起一行,沒設置寬,所以繼承父類,也就是瀏覽器)

?

2,如果left設置了float,那么main 則緊挨著 ,需要注意的是:假設left寬度是200px,main的margin設置距離左側是0,且main寬度被設置成400,那么最終結果是main會被覆蓋掉一半,但是main里面的文字 會出現在未被覆蓋的另一半中,且顯示不完的文字會直接超出main的框,顯示到外面。

【使用float脫離文檔流時,其他盒子會無視這個元素,但其他盒子內的文本依然會為這個元素讓出位置,環繞在周圍】

?

問1:此時若 right 也設置 了float,那么right會緊接著main下面進行排列

(原因:main是普通的div,并沒有設置其他,所以他是塊狀元素,獨占一行,所以right要另起一行,緊跟著進行布局)

?

問2:但是經查資料研究,如果這樣寫?? 【有浮動的div ?要放在最前面】

? <div>left</div>

??? <div>right</div>

??? <div class=”main”>文本</div>

若按上面那樣寫,right又會出現在main同一行的右側,能實現三列的效果!

?

?

1.?????? 若 把left 設置成absolute(絕對定位), 其他設置與上面2相同,則此時出現的結果是, main會被left覆蓋一半,并且 main里的文字也會被遮蓋一半。

【對于使用positioning:absolute脫離文檔流的元素,其他盒子與其他盒子內的文本都會無視它】

如果此時把right 設置為absolute(絕對定位), 那么他會與main出現在同一行,緊靠在右側,能實現三列效果。

【那么問題來了:二者同樣脫離文檔流,而且mian并沒有改變什么,為什么float不行,而absolute絕對定位可以??】???? 二者的區別到底在哪里??

正在回答

2 回答

額 首先 抱歉下 之前說的有問題,其次 我也是個菜鳥 有問題大家一起交流?

????????先說下 ?我們可以認為正常文本流是在z-index:0層,按塊級元素和內聯元素的默認占位布局

????????其次 設置了absolute的元素 完全從正常文檔流刪除 所以他在z-index:0層 的占位消失,不影響正常文本流,如果定位之后 它的下面有正常文本流的元素 會覆蓋掉(其實如果有float的元素也會覆蓋掉,所以可以認為absolute的z-index是最高層的 PS:相對于正常和float),其top left right ?bottom是相對于已經定位(比如position:relative)的父容器,或父容器沒有 則以body為定位

????????設置了float的元素,也脫離了正常文本流,如果一個元素設置了float 那么后面的正常文檔流的元素會當它不存在,自動填充,那么float就會覆蓋掉正常的文本流,但是文字不會覆蓋 而是會環繞?

????????因此 可以這樣理解 ?正常文本流的在 z-index:0 ?float的在z-index:0.5 (有一半卡住了 ?文字環繞) 而absolute的在z-index:1層

??????

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

裝完B就跑_真刺激 提問者

非常感謝,感覺不錯!好人一生平安!共勉
2016-07-27 回復 有任何疑惑可以回復我~
#2

慕粉3721860 回復 裝完B就跑_真刺激 提問者

客氣 哈哈 我可不要好人卡 !
2016-07-29 回復 有任何疑惑可以回復我~

元素浮動以后 脫離文檔流 ?浮動到最左上,但是absolute 雖然也是脫離了文檔流,但是和float 不一樣,他的元素在原文檔流里面還占據著原來的空間 ,并沒有消失,只不過是元素相對于已經設定position的父容器或祖先容器相對偏移,然后覆蓋其他的正常文檔流元素而且。

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

裝完B就跑_真刺激 提問者

《只不過是元素相對于已經設定position的父容器或祖先容器相對偏移,然后覆蓋其他的正常文檔流元素》,大神,這句不太明白啊,能通俗點例子嗎?最好和float對比下,拜謝!
2016-07-27 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
網頁布局基礎
  • 參與學習       214678    人
  • 解答問題       1833    個

讓你精通CSS中三大定位機制,徹底掌握網頁布局的相關知識

進入課程

float 和positioning:absolute三列布局區別??

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

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

幫助反饋 APP下載

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

公眾號

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