完美解決浮動產生的影響

2021-08-22 15:12:40 字數 895 閱讀 6020

-浮動-,相信對於很多前端的同學都不是事,不過最近有後端小哥哥向我詢問關於浮動的問題,下面我就簡單介紹一下浮動會產生什麼問題,並且該怎樣去解決,相信聰明的你一看就懂了。

在講浮動之前,首先宣告一下行內元素和塊級元素的概念:簡單來說,行內元素就是不可設定寬高,且與其它元素併排顯示的元素(a、img標籤等),而塊級元素是可以設定寬高且獨佔一行的元素(p、div標籤等)。

display:block;                   行內元素轉塊級元素

display:inline                    塊級元素轉行內元素

display:inline-block           (行內塊)即可以設定寬高又可以併排顯示

元素浮動後,會脫離標準文件流。脫標的元素不再區分塊級元素和行內元素,即既可以設定寬高又可以併排顯示。

元素浮動產生的影響:

1、浮動的元素不能撐高父盒子

2、浮動元素會影響後面浮動的元素(元素異位)

如下:

.box 

完美解決:只需為父元素設定 overflow: hidden樣式就可以了

解開注釋後

解決辦法還有很多,如為父元素設定高度,外牆法、內牆法等,不過都有一定的問題,感興趣的同學可以自行上網了解。

浮動產生的問題以及解決辦法

子元素脫離文件流不佔位,父元素的高度撐不起來,下面的元素會往上移動。1 給浮動元素的父元素設定高度 但是不靈活 2,給浮動元素的父元素設定overflow hidden scroll auto 常用 溢位隱藏,父元素要知道子元素是否溢位,浮動元素也參與計算 3,在浮動元素的後面加乙個空的塊元素 二者...

css浮動產生的高度坍塌以及解決高度坍塌的多種方法

1 給元素新增overflow hidden 原理 觸發bfc 弊端 overflow hidden 還有乙個作用就是超出隱藏,會隱藏掉元素內部定位的元素外部區域 具體實現 如下 12 3456 123 2 使用clear both清除浮動 原理 給元素內部浮動元素新增一同級空的標籤,給該空標籤設定...

IE6下margin時,float浮動產生雙倍邊距

今天遇到了乙個ie6下的相容性問題,雖然ie6已經不被大眾所期待了,使用者也已基本上消失的所剩無幾,但是,作為乙個問題而存在,我們有必要嘗試的去研究一下bug的改善方法 對元素float left,然後再對元素設定margin left 40px,除錯時候,鬼一般的出現了雙倍的margin left...