關於float,position幾個屬性值的理解

2021-08-30 11:22:23 字數 1665 閱讀 8639

float 屬性定義元素在哪個方向浮動。主要作用是文字環繞影象,不過在 css 中,任何元素都可以浮動。元素設定 了float值,且float值不為none,則浮動元素變成乙個塊級框,自動增加display:block屬性,而不論它本身是何種元素。

特點:1. float設定的浮動元素對塊級元素不可見,會覆蓋掉浮動元素,對文字元素和bfc元素可見。(bfc為塊級格式上下文)。

2. 浮動元素增加display:block;屬性。

3. 浮動元素是脫離文件流的。(下文說明什麼是脫離文件流)

position屬性常用的有5個值

absolute 絕對對位,相對於最近定位父級進行定位, 脫離文件流

relative 相對定位,相對於自身原本文件流中的位置定位,relative 不脫離文件流

fixed 固定位置,相對為瀏覽器視窗的位置,一般用來做廣告彈出。是脫離文件流的

static 出現在正常流中

inherit 繼承定位

什麼是bfc,作用是什麼?

1. bfc 塊級格式上下文,浮動元素和絕對定位元素,非塊級盒子的塊級容器。

2. 生成bfc元素的子元素會乙個接乙個的放置。垂直方向上他們的起點是乙個包含塊的頂部,兩個相鄰子元素之間的垂直距離取決於元素的margin特性。在bfc中相鄰的塊級元素外邊距會摺疊。

特點:

產生條件

1).float的值不是none。

2)、position的值不是static或者relative。

3)、display的值是inline-block、table-cell、flex、table-caption或者inline-flex

4)、overflow的值不是visible,

作用1).阻止垂直外邊距(margin-top、margin-bottom)摺疊

2).包含浮動元素 與浮動元素相鄰的已生成bfc的元素不能與浮動元素相互覆蓋,可以實現左右固定寬度 中間自適應。 左右模組設定浮動,中間元素設定overflow:hidden

總結一句話:就是垂直方向上的margin會重合,可以包含浮動的元素,

脫離文件流則是不按照正常的文件流中自上而下從左到右的顯示,也就是將元素從普通的布局排版中拿走,其他盒子在定位的時候,會當做脫離文件流的元素不存在而進行定位。

a. 使用float脫離文件流時,其他盒子會無視這個元素,但其他盒子內的文字依然會為這個元素讓出位置,環繞在周圍。

b. 使用absolute positioning脫離文件流的元素,其他盒子與其他盒子內的文字都會無視它。

脫離文件流的好處

1. 很好的減少回流和重繪,元素脫離文件流時,修改元素的大小顏色時不會影響文件流中的其他元素。(修改正常文件流中元素的尺寸位置會引起回流,回流一定伴隨著重繪,修改元素的顏色會引起重繪,重繪不一定引起回流,減少回流、重繪進而來優化頁面渲染的效能)找了半天的優點,發現並沒有關於這個問題的回答。後續找到了再補上吧。

當然這裡又引出了乙個問題:float元素撐不開父級的情況

解決方法有以下四種:

1.新增元素設定為clear:both;

2.增加偽元素 ::befor ;

3.父級手動設定高度;

4.設定父元素為overflow:hidden或者display:flex;

關於程式關於世界

首先,在學了1年多的軟體設計的基礎上,問下自己 程式是什麼?業務需求是什麼?程式有什麼用?什麼是演算法?什麼是資料庫?或許每個人的理解不同,會給出不同的答案。那麼自己的理解 程式是乙個讓計算機工作的流程,在程式寫好之後,計算機就會按照,程式設計師定義好流程在執行。其實很多時候,乙個程式的好壞,在於乙...

關於血液關於軟體

1 自然沉降法 將血袋垂直吊掛於4 2 冰箱內,使紅細胞自然下沉1 3d,或將血袋呈70 80 角立於冰箱,需用時,用一次性分漿器分出血漿,制得濃縮紅細胞。2 洗滌法 一般用生理鹽水反覆洗滌3 6次。經洗滌的紅細胞,除白細胞和血小板減少外,血漿蛋白也極少,紅細胞中殘存的血漿蛋白含量約為原總蛋白的1 ...

關於冷漠,關於愛情

我不知道為什麼今天又莫名其妙開始思考愛情這件事,隨之就解決了我一直無法面對冷漠這件事 被冷漠是我始終無法消化的一件事,每當遇見冷漠時,我總會覺得就像一團火把自己燒得面目全非,但對方卻毫無傷害。但我突然懂了,遇到冷漠時,體面的離開即可 在乎你的人一定會在你離開後,找到你跟你解釋為什麼 連解釋都來不及,...