91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

CSS如何使用BFC規則布局引發外層div包裹內層div的處理

發布時間:2021-09-15 11:41:48 來源:億速云 閱讀:111 作者:柒染 欄目:web開發

這篇文章給大家介紹CSS如何使用BFC規則布局引發外層div包裹內層div的處理,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

BFC的概念
BFC全稱Block Formatting Context ,直譯“塊級格式化上下文”,也有譯作“塊級格式化范圍”。它是 W3C CSS 2.1 規范中的一個概念,它決定了元素如何對其內容進行定位,以及與其他元素的關系和相互作用。通俗的講,就是一個div內部,我們用float和margin布局元素。

BFC布局規則:
1.內部的Box會在垂直方向,一個接一個地放置。
2.Box垂直方向的距離由margin決定。屬于同一個BFC的兩個相鄰Box的margin會發生重疊
3.每個元素的margin box的左邊, 與包含塊border box的左邊相接觸(對于從左往右的格式化,否則相反)。即使存在浮動也是如此。
4.BFC的區域不會與float box重疊。
5.BFC就是頁面上的一個隔離的獨立容器,容器里面的子元素不會影響到外面的元素。反之也如此。
6.計算BFC的高度時,浮動元素也參與計算

創建一個BFC
一個BFC可以被顯式的觸發。如果想要創建一個新的BFC,只需要給它添加上面提到的任何一個CSS樣式就可以了。
例如,請看下面的 HTML :

XML/HTML Code復制內容到剪貼板

  1. <div class="container">  
        Some Content here   
    </div>

一個新的BFC可以通過給容器添加任何一個觸發BFC的CSS樣式,如 overflow: scroll , overflow: hidden , display: flex , float: left ,或者 display: table 來創建。
display:table 可能會產生一些問題
overflow:scroll 可能會顯示不必要的滾動條
float:left 將會把元素置于容器的左邊,其他元素環繞著它
overflow:hidden 將會剪切掉溢出的元素
所以每當想要創建一個新的BFC的時候,我們會基于我們的需求選擇最好的樣式條件。為了一致性,我在這篇文章所給出的例子中全部使用了 overflow: hidden

CSS Code復制內容到剪貼板

  1. container {   
        overflow: hidden;   
    }

你可以自由使用除了 overflow: hidden 之外的樣式聲明。

BFC布局引發的問題
我們看看BFC布局引發的問題吧。
例如如下代碼

CSS Code復制內容到剪貼板

  1. <!doctype html>   
    <html lang="en">   
    <head>   
        <meta charset="UTF-8">   
        <title>Clear float</title>   
        <style type="text/css">   
            .container{   
                margin: 30px auto;   
                width:600px;   
                height: 300px;   
            }   
            .p{   
                border:solid 3px #a33;   
            }   
            .c{   
                width: 100px;   
                height: 100px;   
                background-color: #060;   
                margin: 10px;   
                float: left;   
            }   
        </style>   
    </head>   
    <body>   
        <div class="container">   
            <div class="p">   
                <div class="c"></div>   
                <div class="c"></div>   
                <div class="c"></div>   
            </div>   
        </div>   
    </body>   
    </html>

我們希望看到的效果是:
CSS如何使用BFC規則布局引發外層div包裹內層div的處理

結果出現如下:
CSS如何使用BFC規則布局引發外層div包裹內層div的處理

解決方案:
解決方法一般有2種。
1.利用 clear屬性,清除浮動
2.使父容器形成BFC
清除浮動的方法,我們可以用如下辦法:
對父元素加一個class

XML/HTML Code復制內容到剪貼板

  1. <div class="p floatfix">  
        <div class="c">1</div>  
        <div class="c">2</div>  
        <div class="c">3</div>  
    </div>

添加如下CSS

CSS Code復制內容到剪貼板

.floatfix{   
    *zoom:1;   
}   
.floatfix:after{   
    content:"";   
    display:table;   
    clear:both;   
}

這種方法是比較好的解決方案!

關于CSS如何使用BFC規則布局引發外層div包裹內層div的處理就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

英吉沙县| 五家渠市| 屯门区| 两当县| 襄樊市| 申扎县| 江华| 南丹县| 蒙自县| 桂东县| 宾阳县| 怀宁县| 二手房| 泽普县| 柘城县| 林甸县| 大邑县| 雷山县| 吉木萨尔县| 平湖市| 兴业县| 衡山县| 福泉市| 江北区| 肥东县| 太湖县| 伊吾县| 剑川县| 昌邑市| 禹城市| 岢岚县| 雷山县| 青冈县| 礼泉县| 平舆县| 尼勒克县| 昭平县| 高陵县| 赣榆县| 军事| 杭州市|