亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

深入理解盒模型與BFC

gself / 826人閱讀

摘要:標準盒模型與盒模型開發(fā)者們都知道,由于歷史遺留問題與既定標準的發(fā)展,存在著兩個盒模型。即的標準盒模型以及的怪異盒模型。在中,可以用去定義元素的盒模型。比較這兩個盒模型的差異之前,我們先來看一張圖先不討論寬高,我們把一個元素的組成分為。

標準盒模型與IE盒模型

開發(fā)者們都知道,由于歷史遺留問題與既定標準的發(fā)展,存在著兩個css盒模型。即W3C的標準盒模型以及IE的怪異盒模型。在css中,可以用box-sizing去定義元素的盒模型。

比較這兩個盒模型的差異之前,我們先來看一張圖:

先不討論寬高,我們把一個元素的組成分為:content、padding、border、margin。

標準盒模型box-sizing: content-box),即W3C標準中默認的盒模型。它規(guī)定,一個元素的寬高并不包含paddingborder,那么它在渲染時的寬高計算公式如下:

width = content width;
height = content height;

IE盒模型box-sizing: border-box),則恰恰相反,它的寬高實際上是包含paddingborder的,所以

width = content width + padding + border;
height = content height + padding + border;

如圖,demo地址請點擊

至此,兩種盒模型的區(qū)別應該挺明白的了吧。接下來我們講講有關BFC的東西。

什么是BFC

BFC,即 Block Formatting Context 直譯為 “塊級格式化上下文”。MDN上的定義為:

A block formatting context is a part of a visual CSS rendering of a Web page. It is the region in which the layout of block boxes occurs and in which floats interact with other elements.

其是Web頁面的可視化CSS渲染的一部分,是布局過程中生成塊級盒子的區(qū)域,也是浮動元素與其他元素的交互限定區(qū)域

深入了解 BFC 之前,我們看看,什么是 “外邊距重疊”。

外邊距重疊(Collapsing margins),指的是毗鄰的兩個或多個外邊距 (包括父子元素) 會合并成一個外邊距。其中所說的 margin 毗鄰,可以歸結為以下兩點:

這兩個或多個外邊距沒有被非空內容、padding、border 或 clear 分隔開

這些 margin 都處于普通流中。

BFC原理

浮動定位和清除浮動時只會應用于同一個BFC內的元素

浮動不會影響其它BFC中元素的布局,而清除浮動只能清除同一BFC中在它前面的元素的浮動

外邊距折疊也只會發(fā)生在屬于同一BFC的塊級元素之間

因此,我們常常通過建立BFC來防止外邊距重疊的發(fā)生。

建立BFC

通過以下方式可以使元素成為一個BFC:

浮動(float的值不為none)

絕對定位元素(position的值為absolute或fixed)

行內塊(display為inline-block)

表格單元(display為table、table-cell、table-caption等HTML表格相關屬性)

彈性盒(display為flex或inline-flex)

overflow不為visible

BFC其他應用場景

1、由于BFC在計算高度時,其所包含的所有元素,包括浮動元素都是參與計算的。所以甚至可以使用BFC來達到清除浮動的效果。

創(chuàng)建BFC之后:

2、由于BFC與float元素是不會發(fā)生重疊的,根據(jù)這個特性,可以做到自適應兩欄布局。由于左邊元素浮動,造成右邊元素的背景沾滿了整個容器。

將右邊元素改成BFC之后:

BFC相關demo請點擊

參考:

https://segmentfault.com/a/1190000012265930

http://w3help.org/zh-cn/kb/006/

MDN:BFC

MDN:Mastering margin collapsing

關于我

微信號:rcgrcg,歡迎交友~

為了生計,我也接外包項目的哦~

網(wǎng)站搭建(PC、H5、前后端全包,我們有團隊的哦),APP開發(fā)(安卓和IOS),都是有成功案例的哦。

有興趣的請聯(lián)系我?。》瞻鷿M意的那種??!

Good luck!
2018-11-13 廈門

文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉載請注明本文地址:http://www.ezyhdfw.cn/yun/114186.html

相關文章

  • CCS 模型分析

    摘要:基本概念頁面中的每個元素都可以看成一個盒子,盒子里面可以裝其他盒子,層層嵌套。標簽就是最外面的大盒子。每個盒子由內向外分別是。分類盒模型有兩種,標準盒模型和盒模型。 基本概念 頁面中的每個元素都可以看成一個盒子,盒子里面可以裝其他盒子,層層嵌套。html 標簽就是最外面的大盒子。每個盒子由內向外分別是 content, padding, border, margin 。 showImg...

    Jochen 評論0 收藏0
  • CCS 模型分析

    摘要:基本概念頁面中的每個元素都可以看成一個盒子,盒子里面可以裝其他盒子,層層嵌套。標簽就是最外面的大盒子。每個盒子由內向外分別是。分類盒模型有兩種,標準盒模型和盒模型。 基本概念 頁面中的每個元素都可以看成一個盒子,盒子里面可以裝其他盒子,層層嵌套。html 標簽就是最外面的大盒子。每個盒子由內向外分別是 content, padding, border, margin 。 showImg...

    trigkit4 評論0 收藏0
  • 【芝士整理】CSS基礎圖譜

    摘要:為了實現(xiàn)文字環(huán)繞效果,規(guī)范規(guī)定的措施是使父容器塌陷,元素脫離文檔流浮動產(chǎn)生,元素周圍的內容轉換為圍繞元素排列。 選擇器注意點 屬性選擇器 [attr^=value] - 開頭或全等 [attr$=value] - 結尾或全等 [attr*=value] - 包含值 [attr~=value] - 字符串包含 選擇器組 A > B - 直接子節(jié)點 A + B - 下一個兄弟節(jié)點 A...

    iOS122 評論0 收藏0
  • 【前端芝士樹】詳解CSS模型、BFC、OffsetWidth&ClientWidth&am

    摘要:提供了糟糕的支持,而雖然接近標準,但依舊未能完全正確的支持標準。盡管修復了許多的問題,但是依然延續(xù)實現(xiàn)中的其它故障主要是盒模型問題。因此大部分的聲明將觸發(fā)嚴格模式即依據(jù)標準的規(guī)則渲染網(wǎng)頁。 深入理解CSS盒模型、BFC、OffsetWidth&ClientWidth&ScrollWidth 本文將從盒模型開始,一步步涉及一些常見的前端筆試和面試點 主要參考自第一篇文章,然而筆者在讀的時...

    binta 評論0 收藏0

發(fā)表評論

0條評論

gself

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<