今天早上忙完了,下午沒事就寫個文章,很想系統的寫一個系列的文章,但我發現并不容易,只有想到什么就寫什么了。
我的博客地址 http://blog.zhouminghang.xyz
之前面試的時候,經常被問到關于清除浮動的方法,下面就是我總結的幾種常用的方法:
方法一:
使用一個空標簽,來清除浮動;
<div style="clear: both;"></div>
注意:
- 這個
clear-box
,必須寫在所有浮動元素
的最后一個浮動元素后面
,否則無效; - 原理: 設置css屬性
clear: both;
弊端:
就是添加了一個沒有語意的空標簽;
方法二:
使用 overflow
給包含浮動元素的父標簽
上添加css屬性over-flow: auto; zoom: 1;
注意:
- 給
包含浮動元素的父元素
添加屬性; -
zoom: 1;
用于兼容低版本的IE瀏覽器,這里指IE6
;
方法三:
使用after
偽類對象來清除浮動;
但它目前只適用于非IE瀏覽器;
特別要注意的是:
- 該方法必須為需要清除浮動的元素的偽對象設置高度為零,即
height: 0;
,不然的話,該元素會比實際高出幾個像素值; - 必須給這個偽對象,設置
content
屬性,值為“.”
或者為空“”
方法四:
最不可取的方法,就是浮動外部元素,敵動我動,敵不動我不動,就這個戰術;
這里不推薦使用這種做法,也就不細說了;
方法五:
這是我剛開始經常布局時候用的,我發現我使用浮動從來沒遇見過其他人碰到的問題,這大概就是因為我設了高度吧;
給包含浮動元素的父元素,也就是給那個容器設置一個高度,這樣所有浮動的元素智能在它的父元素內進行浮動;
需要注意的是:
- 設置的高度,必須大于等于浮動元素的高度;
相比較之下,方法2和方法3更好,而Bootstrap中清楚浮動的原理使用的就是方法3;
我該開始最常用的就是方法1和方法5,后來經常使用方法3了;
----蘿卜青菜,各取所愛!----