清除浮動的幾種方式

2021-08-31 07:26:19 字數 1524 閱讀 3692

元素1

元素2元素3

元素4元素5元素6

1. 方法一:給父元素設定乙個高度

// 但是這種方法不經常使用

.box1

.box1 .items

.box2

.box2 .items

.items

2. 使用clear:both

這種方法相對於第一種方法較為簡潔,但是會造成第二個盒子元素的margin-top屬性無效。

/* 這種方法相對於第一種方法較為簡潔,但是會造成第二個盒子元素的margin-top屬性無效。

*/.box1

.box1 .items

.box2

.box2 .items

.items

3. 隔牆法

隔牆法主要是有外牆法和內牆法,這是外牆法。主要是在兩個盒子之間新增乙個div元素,再將新增的div元素設定clear:both。外牆法存在的主要問題是:第乙個盒子的margin-bottom無效,但是第二個盒子的margin-top可用

元素1元素2

元素3

元素4元素5

元素6

這是內牆法。主要是在第乙個盒子所有浮動的子元素的最後新增乙個div元素,再將新增的div元素設定clear:both。

內牆法使得第乙個盒子的margin-bottom和第二個盒子的margin-top都可用。

元素1元素2

元素3 元素4

元素5元素6

隔牆法可以清除浮動,但是會新增一些只用於清除浮動的div元素,因此不符合我們前端的思想。

4. 使用偽元素

偽元素的思想和隔牆法的思想是一樣的 ,但是明顯使用偽元素的方法要合理一些。但要注意的一點是必須在box1的樣式中新增*zoom:1,用於相容ie6。

.box1 

.box1::after

.box1 .items

.box2

.box2 .items

.items

5. 使用overflow:hidden

overflow清除浮動需要注意的和偽元素清除浮動的一樣,即注意相容ie6,在第乙個盒子中新增*zoom:1。

.box1 

.box1 .items

.box2

.box2 .items

.items

個人筆記1

清除浮動的幾種方式

1.可以給父級元素設乙個高度,如果高度是固定的,這種方法 簡單,但是要給父級元素設成乙個固定的高度。2.可以在浮動的下面加乙個空的元素 clear both 3.給父元素定義乙個偽類 after或 before clear both,display block zoom 1 為了相容ie zoom ...

清除浮動的幾種方式

清除浮動的四種方法 方法一 弊端 此時父元素高度自適應,但是左右外邊距auto失效,父元素靠左對齊 father 方法二 高度自適應的關鍵。auto的話ie6會產生滾動條 father 方法三 法,但ie6不相容 有其他問題 father after 方法四 空標籤法 所有瀏覽器都適用 最後加入乙個...

清除浮動的幾種方式

不清除浮動會怎樣?1 背景不能顯示 2 邊框不能撐開 3 margin 設定值不能正確顯示 4 下方內容往上移蓋住浮動區域的內容 html div class container div class fl div div class fr div div style fl.fr style 方式一 ...