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