国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

前端中的BFC是什么?

這篇具有很好參考價(jià)值的文章主要介紹了前端中的BFC是什么?。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

前端中的BFC是什么?

BFC的概念

BFC(Block formatting context)直譯為"塊級(jí)格式化上下文"。它是一個(gè)獨(dú)立的渲染區(qū)域,只有Block-level box參與, 它規(guī)定了內(nèi)部的Block-level Box如何布局,并且與這個(gè)區(qū)域外部毫不相干。

MDN給出的解釋是:BFC是Web頁(yè)面的可視CSS渲染的一部分,是塊盒子的布局過(guò)程發(fā)生的區(qū)域,也是浮動(dòng)元素與其他元素交互的區(qū)域。

相信這樣講還是很抽象,下面用代碼來(lái)實(shí)現(xiàn)一下,就能明白了

產(chǎn)生BFC的方式

  • float的值不為none。
  • position的值不為static或者relative。
  • display的值是inline-block、table-cell、flex、table-caption或者inline-flex
  • overflow的值不為visible

BFC的規(guī)則

  • BFC就是一個(gè)塊級(jí)元素,塊級(jí)元素會(huì)在垂直方向一個(gè)接一個(gè)的排列
  • BFC就是頁(yè)面中的一個(gè)隔離的獨(dú)立容器,容器里的標(biāo)簽不會(huì)影響到外部標(biāo)簽
  • 垂直方向的距離由margin決定, 屬于同一個(gè)BFC的兩個(gè)相鄰的標(biāo)簽外邊距會(huì)發(fā)生重疊
  • 計(jì)算BFC的高度時(shí),浮動(dòng)元素也參與計(jì)算

BFC的作用

1. 解決高度坍塌

在一個(gè)沒(méi)有高度的div內(nèi),嵌套了一個(gè)設(shè)置浮動(dòng)的div,會(huì)出現(xiàn)下面的情況

前端中的BFC是什么?

外層div出現(xiàn)了高度坍塌的現(xiàn)象,這時(shí)候給它加上一個(gè)overflow: hidden的css屬性,就產(chǎn)生了BFC

前端中的BFC是什么?

就解決高度坍塌的問(wèn)題了

2. 解決margin重疊問(wèn)題

前端中的BFC是什么?

?里面的三個(gè)div都設(shè)置了margin: 10px,但是網(wǎng)頁(yè)中的相鄰的div之間距離也是10px,原因就是同一個(gè)BFC容器內(nèi)的兄弟元素會(huì)產(chǎn)生垂直方向上的margin重疊,,會(huì)取兩個(gè)相鄰元素之間最大的marign作為之間的間隔。

可以通過(guò)給每個(gè)子元素包裹一個(gè)BFC容器來(lái)解決。

前端中的BFC是什么?

?3. 阻止元素被浮動(dòng)元素覆蓋

有兩個(gè)同級(jí)的div元素,前面div的設(shè)置了左浮動(dòng),會(huì)覆蓋住后面的元素

前端中的BFC是什么?

?這時(shí)讓未設(shè)置浮動(dòng)的元素產(chǎn)生BFC,就可以避免被浮動(dòng)元素覆蓋

前端中的BFC是什么?

結(jié)語(yǔ)

塊格式化上下文對(duì)浮動(dòng)定位和清除浮動(dòng)都很重要。浮動(dòng)定位和清除浮動(dòng)時(shí)只會(huì)應(yīng)用于同一個(gè)BFC內(nèi)的元素。浮動(dòng)不會(huì)影響其它BFC中元素的布局,而清除浮動(dòng)只能清除同一BFC中在它前面的元素的浮動(dòng)。外邊距折疊也只會(huì)發(fā)生在屬于同一BFC的塊級(jí)元素之間。

以上就是BFC的分析,BFC的概念比較抽象,但通過(guò)實(shí)例分析應(yīng)該能夠更好地理解BFC。在實(shí)際中,利用BFC可以閉合浮動(dòng)。同時(shí),由于BFC的隔離作用,可以利用BFC包含一個(gè)元素,防止這個(gè)元素與BFC外的元素發(fā)生margin collapse。

參考

???https://blog.csdn.net/weixin_44165167/article/details/115617978文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-407766.html

到了這里,關(guān)于前端中的BFC是什么?的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 了解CSS中的BFC以及用法

    了解CSS中的BFC以及用法

    目錄 一 常見(jiàn)的定位方案 1. 普通流(所有元素默認(rèn)為普通流的定位) 2. 浮動(dòng) 3. 絕對(duì)定位 二? BFC? 1. 定義 2. 觸發(fā)條件 3.?作用 (1)?避免外邊距重疊 ?(2)清除浮動(dòng) (3)?阻止元素被浮動(dòng)元素覆蓋 ? ? ? ? 首先,先了解一下常見(jiàn)的定位方案。有三種:普通流(默認(rèn))、浮

    2024年04月12日
    瀏覽(19)
  • 記錄--為什么沒(méi)有人能講清楚 BFC?

    記錄--為什么沒(méi)有人能講清楚 BFC?

    CSS 規(guī)范(英文) | 中文翻譯 浮動(dòng),絕對(duì)定位的元素,非塊盒的塊容器(例如inline-blocks,table-cells和table-captions),以及’overflow’不為’visible’的塊盒(當(dāng)該值已被傳播到視口時(shí)除外(except when that value has been propagated to the viewport))會(huì)為其內(nèi)容建立新的塊格式化上下文 在一個(gè)

    2024年02月05日
    瀏覽(22)
  • Go語(yǔ)言Context (ctx)的基礎(chǔ)概念與用法

    Go語(yǔ)言Context (ctx)的基礎(chǔ)概念與用法

    ctx 字面意思 上下文 ,是golang中特有的一種語(yǔ)法,幾乎每一個(gè)程序中都會(huì)通篇傳遞著一個(gè) ctx 。而一些框架又對(duì)其進(jìn)行二次封裝,諸如Gin框架中的 c *gin.Context 。因此此次進(jìn)行 ctx 的學(xué)習(xí)并記錄。 這是 ctx 的接口部分,其提供了一個(gè)接口及許多函數(shù)、結(jié)構(gòu)體(如圖)。 其通過(guò)

    2024年01月22日
    瀏覽(13)
  • 什么是虛擬DOM(Virtual DOM)?它在前端框架中的作用是什么?

    什么是虛擬DOM(Virtual DOM)?它在前端框架中的作用是什么?

    前端入門(mén)之旅:探索Web開(kāi)發(fā)的奇妙世界 歡迎來(lái)到前端入門(mén)之旅!感興趣的可以訂閱本專(zhuān)欄哦!這個(gè)專(zhuān)欄是為那些對(duì)Web開(kāi)發(fā)感興趣、剛剛踏入前端領(lǐng)域的朋友們量身打造的。無(wú)論你是完全的新手還是有一些基礎(chǔ)的開(kāi)發(fā)者,這里都將為你提供一個(gè)系統(tǒng)而又親切的學(xué)習(xí)平臺(tái)。在這個(gè)

    2024年02月07日
    瀏覽(24)
  • web前端開(kāi)發(fā)中的響應(yīng)式布局設(shè)計(jì)是什么意思?

    響應(yīng)式布局是指網(wǎng)頁(yè)設(shè)計(jì)和開(kāi)發(fā)中的一種技術(shù)方法,旨在使網(wǎng)頁(yè)能夠在不同大小的屏幕和設(shè)備上都能良好地顯示和交互。這種方法使得網(wǎng)頁(yè)可以自動(dòng)適應(yīng)不同的屏幕尺寸,包括桌面電腦、平板電腦和手機(jī)等。 在Web前端開(kāi)發(fā)中,響應(yīng)式布局通常使用CSS(層疊樣式表)來(lái)實(shí)現(xiàn)。以

    2024年02月11日
    瀏覽(33)
  • Go 語(yǔ)言 context 都能做什么?

    原文鏈接: Go 語(yǔ)言 context 都能做什么? 很多 Go 項(xiàng)目的源碼,在讀的過(guò)程中會(huì)發(fā)現(xiàn)一個(gè)很常見(jiàn)的參數(shù) ctx ,而且基本都是作為函數(shù)的第一個(gè)參數(shù)。 為什么要這么寫(xiě)呢?這個(gè)參數(shù)到底有什么用呢?帶著這樣的疑問(wèn),我研究了這個(gè)參數(shù)背后的故事。 開(kāi)局一張圖: 核心是 Context 接

    2024年02月11日
    瀏覽(18)
  • React 中的 context使用方法

    什么是上下文? 全局變量就是全局的上下文,全局都可以訪問(wèn)到它;上下文就是你運(yùn)行一段代碼,所要知道的所有變量。 三大件 React.createContext(): context 的初始化 provider: 提供context的父組件,用來(lái)包裹需要context的子組件的 子組件獲得context的方法 代碼如5:

    2024年02月15日
    瀏覽(21)
  • gin 框架中的 gin.Context

    Context 是 gin 中最重要的部分。 例如,它允許我們?cè)谥虚g件之間傳遞變量、管理流程、驗(yàn)證請(qǐng)求的 JSON 并呈現(xiàn) JSON 響應(yīng)。 Context 中封裝了原生的 Go HTTP 請(qǐng)求和響應(yīng)對(duì)象,同時(shí)還提供了一些方法,用于獲取請(qǐng)求和響應(yīng)的信息、設(shè)置響應(yīng)頭、設(shè)置響應(yīng)狀態(tài)碼等操作。 在 Gin 中,C

    2024年02月14日
    瀏覽(26)
  • 什么是層疊上下文(stacking context)?它是如何形成的?

    什么是層疊上下文(stacking context)?它是如何形成的?

    前端入門(mén)之旅:探索Web開(kāi)發(fā)的奇妙世界 歡迎來(lái)到前端入門(mén)之旅!感興趣的可以訂閱本專(zhuān)欄哦!這個(gè)專(zhuān)欄是為那些對(duì)Web開(kāi)發(fā)感興趣、剛剛踏入前端領(lǐng)域的朋友們量身打造的。無(wú)論你是完全的新手還是有一些基礎(chǔ)的開(kāi)發(fā)者,這里都將為你提供一個(gè)系統(tǒng)而又親切的學(xué)習(xí)平臺(tái)。在這個(gè)

    2024年02月12日
    瀏覽(25)
  • ansible-playbook中的block模塊,如果中途失敗了,怎樣退出整個(gè)playbook

    在Ansible中,如果使用了block模塊,并且希望在其中的任務(wù)失敗時(shí)退出整個(gè)playbook,可以通過(guò)設(shè)置block模塊的屬性`rescue`為`yes`來(lái)實(shí)現(xiàn)。 以下是一個(gè)示例的playbook,其中包含一個(gè)block模塊: ```yaml - name: Example playbook ? hosts: all ? tasks: ? ? - name: Block example ? ? ? block: ? ? ? ? - nam

    2024年02月15日
    瀏覽(19)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包