您好,登錄后才能下訂單哦!
本篇內容主要講解“BFC塊級格式化上下文的方法”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“BFC塊級格式化上下文的方法”吧!
BFC概念
BFC即Block Formatting Contexts(塊級格式化上下文),它是W3C CSS2.1 規范中的一個概念。它是頁面中的一塊渲染區域,并且有一套渲染規則,它決定了其子元素將如何定位,以及和其他元素的關系和相互作用。
具有BFC特性的元素可以看作是隔離了的獨立容器,容器里面的元素不會在布局上影響到外面的元素,并且BFC具有普通容器所沒有的一些特性。
通俗一點來講,可以把BFC理解為一個封閉的大箱子,箱子內部的元素無論如何翻江倒海,都不會影響到外部。
BFC觸發條件
滿足以下條件之一,即可觸發BFC:
float的值不是none
position的值不是static或者relative
display的值是inline-block、table-cell、flex、table-caption或者inline-flex
overflow的值不是visible
下面的box盒子就是一個BFC獨立容器:
.box{
width: 100px;
height: 100px;
overflow: hidden; /* 觸發了BFC,形成獨立盒子 */
}
BFC的應用
在前面介紹盒模型的margin時,出現了傳遞和疊加的問題,這里可以采用BFC規范來解決,原理就是讓盒子形成一個獨立的容器,無論里面的子元素如何折騰,都不影響到外面的元素。
<style>
.box1 {
width: 200px;
height: 200px;
background: pink;
overflow: hidden; /* 觸發了BFC,形成獨立盒子 */
}
.box2{
width: 100px;
height: 100px;
background: skyblue;
margin-top: 30px;
}
</style>
<div class="box1">
<div class="box2"></div>
</div>
BFC解決傳遞問題
<style>
section{
overflow: hidden; /* 觸發了BFC,形成獨立盒子 */
}
.box1 {
width: 200px;
height: 200px;
background: pink;
margin-bottom: 40px;
}
.box2 {
width: 100px;
height: 100px;
background: skyblue;
margin-top: 30px;
}
</style>
<section>
<div class="box1"></div>
</section>
<section>
<div class="box2"></div>
</section>
BFC解決疊加問題
BFC還可以解決前面浮動遇到了父容器高度塌陷的問題,也就是不管里面子元素是否浮動,都不會因為脫離文檔流對容器高度造成影響。
<style>
.box1 {
width: 200px;
border: 1px black solid;
overflow: hidden; /* 觸發了BFC,形成獨立盒子 */
}
.box2 {
width: 100px;
height: 100px;
background: pink;
float: left;
}
</style>
<div class="box1">
<div class="box2"></div>
</div>
到此,相信大家對“BFC塊級格式化上下文的方法”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。