CSS浮動框是否脫離文件流

2021-07-25 06:41:46 字數 1049 閱讀 5469

css浮動框是否脫離文件流?

block元素變成內聯(inline)元素有兩種方法

一、display:inline;(不過內聯元素不能設定寬和高,所以這種方法用的比較少)

二、運用浮動屬性float:left、float:right、float:none(預設值,元素不浮動,並會顯示在其在文字中出現的位置)、inherit(規定應該從父元素繼承float屬性的值)

浮動會使元素向左或向右移動,它周圍的元素也會重新排列

浮動之後的元素將圍繞它

浮動之前的元素將不會受到影響

如果把幾個浮動的元素放到一起,如果有空間的話,他們將彼此相鄰

1、乙個浮動元素會盡量向左或向右移動,直到它的外邊緣碰到包含框或另乙個浮動框的邊緣為止

2、由於浮動框不在文件的普通流中,所以文件的普通流中的塊框(是塊狀元素,不是內聯元素)表現得就像浮動框不存在一樣,這句話的

意思就是浮動的元素脫離文件元素,不佔據空間。不浮動的元素會直接無視掉這個元素

關於這兩句話的理解看看下面的兩個例子:來自w3cschool

當把框 1 向右浮動時,它脫離文件流並且向右移動,直到它的右邊緣碰到包含框的右邊緣:

再請看下圖,當框 1 向左浮動時,它脫離文件流並且向左移動,直到它的左邊緣碰到包含框的左邊緣。因為它不再處於文件流中,所以它不佔據空間,實際上覆蓋住了框 2,使框 2 從檢視中消失。

如果把所有三個框都向左移動,那麼框 1 向左浮動直到碰到包含框,另外兩個框向左浮動直到碰到前乙個浮動框。

如下圖所示,如果包含框太窄,無法容納水平排列的三個浮動元素,那麼其它浮動塊向下移動,直到有足夠的空間。如果浮動元素的高度不同,那麼當它們向下移動時可能被其它浮動元素「卡住」:

CSS脫離文件流 浮動

什麼是文件流?將窗體從上至下分成一行一行,並在每行中按從左至右依次排放元素,稱為文件流,也稱為普通流。這個應該不難理解,html中全部元素都是盒模型,盒模型占用一定的空間,依次排放在html中,形成了文件流。什麼是脫離文件流?元素脫離文件流之後,將不再在文件流中佔據空間,而是處於浮動狀態 可以理解為...

CSS脫離文件流

脫離文件流 也就是將元素從普通的布局排版中拿走,其他盒子在定位的時候,會當做脫離文件流的元素不存在而進行定位。需要注意的是,使用float脫離文件流時,其他盒子會無視這個元素,但其他盒子內的文字依然會為這個元素讓出位置,環繞在周圍。其他盒子與其他盒子內的文字都會無視它。float 如上圖 div2實...

float探索,脫離文件流?不脫離文件流?

float屬性是css2中的乙個屬性,很多時候我們都會用到她,但是通常只要一不小心就會遇到很多問題,跟設想的完全不一樣呀,怎麼回事?那麼這個時候我們應該冷靜下來好好探索一下這個屬性的用法,弄明白其原理,適用於什麼場景,這樣在任何情況下都能正確的使用她。最初,float是應用於影象,使文字環繞在其周圍...