總結浮動元素float知識點。

2021-10-09 07:42:59 字數 1815 閱讀 7620

css布局的三種機制

分別是普通流(標準流)、浮動和定位

1.標準流

塊級元素會獨佔一行從上向下排列。

行內元素會按照順序排列,從左往右排碰到父級元素則會自動換行

2.浮動

讓盒子從普通流中浮起來,主要讓多個塊級盒子一行顯示

3.定位

將盒子定在瀏覽器的某個位置

浮動什麼是浮動?(float)

元素的浮動是指設定了浮動屬性的元素會脫離標準普通流的控制,根據指定移動位置。

作用:1讓多個盒子(div)水平排列成一行,功能強大使浮動稱為布局的重要手段

2.可以實現盒子的左右對齊

3.浮動可以控制,實現文字環繞效果

語法:選擇器

none 元素不可浮動(預設)

left 元素向左浮動

right 元素向右浮動

特點:float屬性會讓盒子漂浮在標準流上,可以蓋住標準流的元素

float浮動把自己原來的位置給了下面標準流的盒子,不佔原來位置

float浮動會改變元素的display屬性,任何元素都可以浮動,浮動的元素會生成乙個塊級框。

float擴充套件

浮動元素與父元素的關係

子盒子和浮動參照父盒子對齊

不會和父盒子的邊框重疊,也不會超過父盒子的內邊距

浮動元素與兄弟盒子的關係

在乙個父級盒子中,如果前乙個是兄弟盒子是浮動的,那麼會當前盒子與前乙個盒子的頂部對齊,如果是普通流,那麼當前盒子會顯示在前乙個兄弟盒子下方

浮動只會影響當前或者是後面的標準流盒子,不會影響前面的標準流。

為什麼要清楚浮動呢

父級盒子很多情況下,不方便給予高度,但是盒子浮動不佔位置,父級盒子的高度也就成了0,影響了下面的標準流盒子。準確地說不是清楚浮動而是清楚浮動對後面的產生的影響

清楚浮動的方法

clear屬性用於清楚浮動

語法:選擇器

left: 不允許左側有浮動元素

right:不允許右側有浮動元素

both:同時清楚左右兩側的浮動的影響

1.額外標籤法

在浮動元素的尾部新增乙個空的標籤。

>

style

="clear

: both;

">

div>

div>

優:書寫方便

缺:新增許多毫無意義的標籤,結構化比較差勁

2.父級新增overflow屬性

對父級css選擇器加overflow:hidden樣式,可以清除父級內使用float產生浮動。優點是可以很少css**即可解決浮動產生。

.div 

.div-left,.div-right

.div-left

.div-right

優點:**簡潔、

缺點:內容增多的時候容易造成不會自動換行導致內容被隱藏。

3.使用after偽元素清楚浮動

.clearfix:after 

.clearfix /* ie6、7 專有 */

優點: 符合閉合浮動思想 結構語義化正確

缺點: 由於ie6-7不支援:after,使用 zoom:1觸發 haslayout。

4.使用雙偽元素清除

.clearfix:before,.clearfix:after 

.clearfix:after

.clearfix

優點:**簡潔

缺點:由於ie6-7不支援:after,使用 zoom:1觸發 haslayout。

float浮動相關知識點筆記

float left right none inherit 塊在一排顯示 內聯支援寬高 預設內容撐開寬度 脫離文件流 提公升層級半層 加高問題 擴充套件性不好 父級浮動 問題 頁面中所有元素都加浮動,margin左右自動失效 inline block 清除浮動方法 問題 margin左右auto失效...

前端知識點之樣式中的元素浮動

浮動 float 定義 使元素脫離文件流,按照指定的方向發生移動,遇到父級的邊界或者相鄰的浮動元素就會停下來 浮動元素是同時處於常規流內和常規流的元素,其中塊級元素認為浮動元素不存在,而浮動元素會影響行內元素的布局 因此浮動元素通過影響行內元素的布局來間接影響包含塊的布局 常規流 頁面從左往右,從上...

html定位屬性和浮動元素的知識點

static 靜態位置屬性 相對定位 relative 絕對定位 abosult 1 浮動後 元素本身脫離文件流,原來的位置被其他元素所佔據 2 浮動後 在同乙個父元素中,目標元素回佔據乙個浮動後位置。3 注意 浮動只能是 子元素在容器中進行位置移動。如果父容器剩餘寬度不能容納兩乙個子元素,那麼久換...