清除浮動專題

2022-04-16 19:16:17 字數 1094 閱讀 1658

1.三個已經混淆的概念

(1)不浮動float:none;

(2)清除周圍的浮動元素

(3)清除子元素浮動對父元素的影響

2.什麼是清除浮動

清除浮動不是把當前標籤的浮動給清楚了,如果這樣,還加浮動做什麼。

其實清除浮動指的是清除當前元素旁邊的浮動元素,但是當前元素又不能影響別人,打不贏就跑,所以自己就跑到下面去了。

3.為什麼要清楚浮動

在布局的時候我們經常希望某些內容能夠水平排布,水平排布後,由於內部內容不確定,高度不能簡單的給乙個定值。而如果不給高度,子元素又都浮動了,父盒子就會因為沒有子盒子的支援而塌陷。

利用清除浮動的這個特性,我們可以給父元素中最後乙個不浮動的盒子使用clear:both從而把父盒子的高度撐起來,並且能夠根據內部內容的變化而改變高度。

4.清除浮動的方法

(1)額外標籤法

原理:單獨使用乙個標籤加上clear:both跑到浮動元素下面,從而消除子盒子浮動造成的父盒子塌陷。

典型**:京東

優點:通俗易懂,容易掌握

缺點:新增很多無意義的空標籤,不符合結構與表現分離的原則,不利於後期的維護。

(2)父元素設定overflow:hidden

原理:讓父盒子形成bfc,bfc的特性之一就是可以承載浮動元素

優點:不存在結構和語義化問題,**量極少。

缺點:內容增多時候不會自動換行導致內容被隱藏掉,無法顯示需要溢位的元素。

bfc(block formatting content)快格式化上下文,是w3c規定的一種獨立渲染區域。

其特性為:

總而言之,就是獨立了。

哪些情況會觸發bfc

(3)單偽元素

.clearfix:after /*在內部元素的前面和後面新增元素*/

.clearfix:after /*只要after兩側有浮動元素,after就會跑到最下面,從而撐開帶有該類名的父盒子*/

.clearfix {

*zoom: 1;/*用於相容ie/7/6*/

用display:table是因為display:block有空隙

加了乙個before是為了防止外邊合併

典型**:小公尺、**

CSS清除浮動專題

w3c規範推薦在容器底部新增乙個clear both的元素 網路上流行的說法是 在非ie瀏覽器 如firefox 下,當容器的高度 height 為auto,且容器的內容中有浮動 float為left或right 的元素,在這種情況下,容器的高度不能自動伸長以適應內容的高度,使得內容溢位到容器外面而...

浮動 清除浮動

在css布局中分為內聯元素 display inline 和塊狀元素 display block 塊狀元素缺省會佔據一行,可設定高度寬度以及邊距,而內斂元素不會也不能設定。常見的內斂元素有 a span input select,常見的塊狀元素有 h1 h6,p,div,ul,table。浮動元素是...

CSS清除浮動 清除float浮動

css清除浮動方法集合 一般浮動是什麼情況呢?一般是乙個盒子裡使用了css float浮動屬性,導致父級物件盒子不能被撐開,這樣css float浮動就產生了。浮動產生樣式效果截圖 本來兩個黑色物件盒子是在紅色盒子內,因為對兩個黑色盒子使用了float浮動,所以兩個黑色盒子產生了浮動,導致紅色盒子不...