BEM 和 BFC

BFC

1 定義:

BFC - Block Formatting Context 塊級(jí)格式化上下文 BFC的定義,在官方文檔到中是這么介紹的:一個(gè)BFC區(qū)域包含創(chuàng)建該上下文元素的所有子元素,但是不包括創(chuàng)建了新的BFC的子元素的內(nèi)部元素,BFC是一塊塊獨(dú)立的渲染區(qū)域,可以將BFC看成是元素的一種屬性,擁有了這種屬性的元素就會(huì)使他的子元素與世隔絕,不會(huì)影響到外部其他元素

2 觸發(fā)方式:

a. body根元素
b. 設(shè)置定位: absolute 或者fixed;
c. 行內(nèi)塊顯示模式, inline-block;
d. 設(shè)置overflow: hidden,auto,scroll;
e. 表格單元格, table-cell;
f. 彈性布局,flex;

3 作用:

a. 解決外邊距的塌陷問題(垂直塌陷)
b. 利用BFC解決包含塌陷
c. 清除浮動(dòng)
d. BFC可以阻止標(biāo)準(zhǔn)流元素被浮動(dòng)元素覆蓋

BEM

1 定義:

BEM就是塊(block)、元素(element)、修飾符(modifier),是由Yandex團(tuán)隊(duì)提出的一種前端命名方法論。這種巧妙的命名方法可以使css類對(duì)其他開發(fā)者來說更加透明且具有意義。BEM約定更加嚴(yán)格,而且包含更多的信息,它們用于一個(gè)團(tuán)隊(duì)開發(fā)一個(gè)耗時(shí)較大的項(xiàng)目。

BEM的關(guān)鍵是光憑名字就可以告訴其他開發(fā)者某個(gè)標(biāo)記是用來干什么的。通過瀏覽HTML代碼中的class屬性,就能夠明白模塊之間是如何關(guān)聯(lián)的,有一些僅僅是組件,有一些則是這些組件的子孫或者是元素,還有一些是組件的其他形態(tài)或者是修飾符。

參考

前端css命名規(guī)范----BEM
BEM——前端命名規(guī)范介紹

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容