CSS中float的應用

2021-09-30 12:52:00 字數 2407 閱讀 9321

自從工作了之後就沒更新部落格。 工作了之後從事了前端和後台的工作, 好多事情都要從頭開始學。

剛入職不久就丟了不少很雜碎的任務給我。在剛開始調樣式的時候覺得好心累, 感覺都控制不了那些樣式, 又不能像做android的xml介面那樣拖來拖去, 好煩。

今天接觸了一天float, 感覺還是挺多學問的。

浮動的規則:

浮動有四個屬性值可以設定:

.foo
每個屬性值是如何影響浮動元素在其父元素或文件內的擺放,通常是由下面的規則決定的:

浮動元素的父元素是不可見的.

浮動元素會脫離文件流,不會繼續停留在其父元素內。如果乙個父元素只有乙個子元素,那麼它將會塌陷,就像是空的一樣。就表現而言,就有點類似於子元素做了絕對定位。

左浮動/右浮動元素會盡量接近父元素的頂部和左邊/右邊

這是左浮動/右浮動元素試圖實現的「最佳」位置。 

前面的元素會將浮動元素向下推。

雖然浮動元素會盡量靠近父元素的頂部,然而文件中浮動元素前面的兄弟元素會把浮動元素向下推。無論前面的元素是內聯元素還是塊元素。

也就是說如果我們在浮動元素之前或之後有乙個段落,會得到不同的結果。

段落在浮動元素之後

段落在浮動元素之前

前面的浮動元素得到更「好」的位置。

在規則2中講到的「最佳」的位置將會給第乙個被定義為浮動的元素。比如說,有多個右浮動元素,html中第乙個定義的右浮動元素會最靠近右邊, 因為那是最佳位置。

接近于父元素的頂部優先於左邊/右邊

當有多個浮動元素向同乙個方向浮動時,隨後的元素為了更接近父元素的頂部,將會選擇遠離父元素左邊/右邊的位置。

這就意味著多個浮動元素將盡可能併排排列,只有當父元素的寬度不能容納它們,它們才會移動到下面。

在這個例子中,元素2比元素3擁有更好的位置

浮動元素不能延伸到它的父元素外面

左浮動的元素不會延伸到父元素的左邊緣外。 

左浮動的元素不應該延伸到父元素的右外邊緣外,除非父元素沒有剩餘的空間。

清除浮動

clear 屬性與 float 密切相關。它可以消除元素浮動造成的文件流的改變。它有三個屬性值:

.foo
當乙個元素設定為 clear:left ,這意味著清除浮動的元素的頂部邊緣必須在左浮動元素底邊的下面。如果該元素設定 clear:both ,那麼它的頂部邊緣一定會在所有浮動元素的下方。

段落清除左浮動

如果乙個元素只是清除左浮動或右浮動,另一方向浮動的元素不會受此影響。

先前有許多混亂而不合適的清浮動方法。特別是會在一些老舊瀏覽器導致問題。我用的乙個流行的清浮動方案是用css實現的。下面的樣式應用於浮動元素的父元素或緊隨其後的兄弟元素。

.cf::after

CSS中的浮動(float)

宣告 本人的所有部落格皆為個人筆記,作為個人知識索引使用,因此在敘述上存在邏輯不通順 跨度大等問題,希望理解。分享出來僅供大家學習翻閱,若有錯誤希望指出,感謝!網頁布局的核心 就是用 css 來擺放盒子 css 提供了來設定盒子的擺放位置,分別是 標準流 和,其中 普通流 標準流 行內元素會按照順序...

CSS 浮動 float與Clear的應用

浮動的框可以向左或向右移動,直到它的外邊緣碰到包含框或另乙個浮動框的邊框為止。由於浮動框不在文件的普通流中,所以文件的普通流中的塊框表現得就像浮動框不存在一樣。請看下圖,當把框 1 向右浮動時,它脫離文件流並且向右移動,直到它的右邊緣碰到包含框的右邊緣 如果把所有三個框都向左移動,那麼框 1 向左浮...

CSS中,float浮動的理解

浮動什麼意思呢,比如,預設的,我們知道,div是佔滿一行的,現在我們想把兩個div顯示在一行上,那怎麼辦呢 11111 2222 這樣我們就設定了兩個div,乙個寬度100px,乙個寬150px,可預覽一下,我們的div仍在兩行上,那麼怎麼把它改到一行上呢,這兒就需要float,設定第乙個div的f...