有關float、position:absolute及a元素

小黑屋裡的糖葫蘆發表於2018-07-23

1.float與position:absolute的異同點

相同點:都會是元素脫離文件流

不同點:1)float使元素脫離文件流後,以前的位置會被回收,相鄰元素盒子會無視它的存在,從而佔據它原始的位置,但是元素中的文字內容會識別到它的存在,從而圍繞它排列。效果如下圖

2)position:absolute使元素脫離文件流後,以前的位置會被回收,相鄰元素盒子以及元素中的文字內容都會無視它的存在,從而佔據它原始的位置,效果如下圖

*在寫網頁的時候,通常會選擇將子元素浮動,父元素佔據位置,這樣可以避免後面的元素往前堆積。儘可能選擇float,因為可以用clear:both(right或right)來消除對後面元素的影響

*在寫多個人同型別的div元素時(像下圖這樣的),div中的文字是寫在圖片之上且需要定位,這時最好給文字內容的父元素(即div)設定一個相對定位,讓文字相對於父元素定位,這樣其他同型別的div就不需要在重新定位,直接複製原先寫好的div就可以了。

         注:只要父元素定位了(不管是絕對定位還是相對定位),子元素使用position:absolute屬性,就是相對於父元素定位

3.子元素使用float後脫離文件流,若父元素沒有設定高度,則會沒有高度,也就無法設定父元素背景顏色,這情況下可使用overflow:hidden(自動識別高度),從而給父元素設定背景顏色

4.行內元素不能設定寬高,頂部邊距及底部邊距。

相關文章