• <var id="bgkye"><mark id="bgkye"></mark></var>
    <big id="bgkye"><meter id="bgkye"></meter></big>
    溫馨提示×

    您好,登錄后才能下訂單哦!

    密碼登錄×
    登錄注冊(cè)×
    其他方式登錄
    點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

    CSS中BFC(塊級(jí)格式化上下文)的作用是什么

    發(fā)布時(shí)間:2020-10-15 16:50:27 來(lái)源:億速云 閱讀:150 作者:小新 欄目:web開發(fā)

    小編給大家分享一下CSS中BFC(塊級(jí)格式化上下文)的作用是什么,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

    定義

    BFC全稱為block formatting context,意為塊級(jí)格式化上下文,是Web頁(yè)面中盒模型布局的css渲染模式。

    可能上面的解釋看了有點(diǎn)懵逼,通俗的說(shuō)BFC指的的是一塊區(qū)域的布局, 這個(gè)區(qū)域的布局有一個(gè)顯著特點(diǎn):這個(gè)區(qū)域內(nèi)的子元素?zé)o論使用何種布局、何種樣式都不會(huì)影響外部的元素。BFC比較常見的用法就是用來(lái)清除浮動(dòng)的影響,正常不清楚浮動(dòng)影響的情況下,父元素的高度是會(huì)坍塌的

    那么什么時(shí)候會(huì)觸發(fā)BFC呢?滿足一下條件中任何一個(gè):

    • float的值不為none

    • position的值不為static或者relate

    • display的值為table-cell、table-caption、inline-block、flex或者inline-flex中的任意一個(gè)

    • overflow的值不為visible

    作用

    清除浮動(dòng)

    我們經(jīng)常會(huì)遇到這樣的情況:當(dāng)一個(gè)容器內(nèi)包含的子元素包含浮動(dòng)元素時(shí),會(huì)導(dǎo)致容器沒(méi)有高度,人們常用一個(gè)偽類,然后在偽類中用clear屬性清除浮動(dòng),其實(shí)可以通過(guò)定義一個(gè)BFC來(lái)達(dá)到同樣的目的,舉個(gè)例子:

    <div class="container">
        <div></div>
        <div></div>
    </div>
    .container {
      width: 600px;
      background-color: black;
    }
    .container p {
      float: left;
      width: 200px;
      height: 200px;
      margin-left: 10px;
      background-color: green;
    }

    CSS中BFC(塊級(jí)格式化上下文)的作用是什么

    當(dāng)子元素存在float屬性時(shí),父容器沒(méi)有設(shè)置高度,父容器的高度就會(huì)塌陷,我們可以通過(guò)在父容器中加overflow:hidden創(chuàng)建一個(gè)BFC來(lái)解決這個(gè)問(wèn)題:

    .container {
      width: 600px;
      background-color: black;
      overflow: hidden;  
    }
    .container p {
      float: left;
      width: 200px;
      height: 200px;
      margin-left: 10px;
      background-color: green;
    }

    CSS中BFC(塊級(jí)格式化上下文)的作用是什么

    防止文字環(huán)繞

    <div>
        <img src="../public/image/test.jpeg">
        <p>test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test </p>
    </div>
    img {
      float: left;
      width: 40px;
      height: 40px;
    }

    CSS中BFC(塊級(jí)格式化上下文)的作用是什么

    如上面例子所示,正常情況下我們期待的結(jié)果是左邊顯示圖片,右邊顯示文字描述,而不是上面展示的文字環(huán)繞在圖片周圍,此時(shí)我們同樣可以通過(guò)創(chuàng)建一個(gè)BFC來(lái)解決這個(gè)問(wèn)題:

    img {
      float: left;
      width: 40px;
      height: 40px;
      margin-right: 10px;
    }
    p {
      overflow: hidden;
    }

    防止外邊距折疊

    常規(guī)文檔流中,子元素都是沿著父元素頂部開始一個(gè)接著一個(gè)垂直擺放的,相鄰兄弟間的垂直間距由他們中間距最大的一個(gè)元素決定,而不是疊加在一起,這就是邊距折疊,舉個(gè)例子:

    <div class="container">
        <p class="one">one</p>
        <p class="two">two</p>
    </div>
    .container {
      width: 200px;
      background-color: black;
    }
    p {
      width: 150px;
      background-color: green;
    }
    .one {
      margin: 10px 0;
    }
    .two {
      margin: 20px 0;
    }

    CSS中BFC(塊級(jí)格式化上下文)的作用是什么

    這種情況,我們可以通過(guò)創(chuàng)建一個(gè)新的BFC來(lái)解決

    <div class="container">
      <p class="one">one</p>
      <div class="new">
        <p class="two">two</p>
      </div>
    </div>
    .container {
      width: 200px;
      background-color: black;
    }
    p {
      width: 150px;
      background-color: green;
    }
    .one {
      margin: 10px 0;
    }
    .two {
      margin: 20px 0;
    }
    .new {
      overflow: hidden;
    }

    CSS中BFC(塊級(jí)格式化上下文)的作用是什么

    看完了這篇文章,相信你對(duì)CSS中BFC(塊級(jí)格式化上下文)的作用是什么有了一定的了解,想了解更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

    向AI問(wèn)一下細(xì)節(jié)

    免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

    css
    AI