BEM 是一種前端項目開發的方法學,由 Yandex 公司提出。BEM 的名稱來源于該方法學的三個組成部分的英文首字母,分別是塊(Block)、元素(Element)和修飾符(Modifier)。這三個不同的組成部分稱為 BEM 實體。
當一個項目比較大的時候,容易產出樣式沖突的問題。BEM 主要解決樣式的沖突的問題,以此幫助你在前端開發中實現可復用的組件和代碼共享。
感興趣的可以其他解決代碼樣式沖突的方案:【譯】CSS 模塊。
塊即是通常所說的 Web 應用開發中的組件或模塊。每個塊在邏輯上和功能上都是相互獨立的。塊中封裝了組件相關的 JavaScript、CSS 代碼和 HTML 模板。由于塊是獨立的,可以在應用開發中進行復用,從而降低代碼重復并提高開發效率。塊可以放置在頁面上的任何位置,也可以互相嵌套。同一個塊可以在頁面上存在多個實例。塊的不同實例具有相似的結構。一個典型的塊的示例是菜單。一個項目中可以有多個不同的菜單,具體相似的結構和樣式。
塊的名稱應該是全局唯一的。一個頁面可以
元素是塊中的組成部分。元素不能離開塊來使用。在菜單塊中,每個菜單項是塊中的元素。
修飾符用來定義塊或元素的外觀和行為。同樣的塊在應用不同的修飾符之后,會有不同的外觀。當菜單塊出現在頁面上的不同位置時,可以有不同的樣式。菜單塊中的菜單項可以有選中或非選中的狀態。
HTML
<ul > <li >Menu Item 1</li> <li >Menu Item 2</li> <li >Menu Item 3</li></ul>
CSS
.menu { list-style: none;}.menu__item { font-weight: bold;}.menu__item--selected { color: red;}
如
<p class='block'> <p class='block__elem1'> <p class='block__elem1__elem2'> <p class='block__elem1__elem2__elem3'></p> </p> </p></p>
優化為
<p class='block'> <p class='block__elem1'> <p class='block__elem2'> <p class='block__elem3'></p> </p> </p></p>
避免用 block-name–-modifier-name__element-name 的寫法
// bad<p > <button ></button></p>// good<p > <button ></button></p><style>.block--xmas .block__button { /* Jingle bells, jingle bells, jingle all the way.*/}</style>
避免用 block-name__block2-name 的寫法
// bad<p class='block'> <p class='block__block2'> <p class='block__block2__elem'> </p> </p></p>// good<p class='block'> <p class='block2 block2--modifier'> <p class='block2__elem'> </p> </p></p>
用 @ 。如
<p ></p><style>@media (min-width: 15em) { .block2@sm {}}</style>
本文遵守創作共享CC BY-NC-SA 4.0協議 網絡平臺如需轉載必須與本人聯系確認。
本文由 貴州做網站公司 整理發布,部分圖文來源于互聯網,如有侵權,請聯系我們刪除,謝謝!
網絡推廣與網站優化公司(網絡優化與推廣專家)作為數字營銷領域的核心服務提供方,其價值在于通過技術手段與策略規劃幫助企業提升線上曝光度、用戶轉化率及品牌影響力。這...
在當今數字化時代,公司網站已成為企業展示形象、傳遞信息和開展業務的重要平臺。然而,對于許多公司來說,網站建設的價格是一個關鍵考量因素。本文將圍繞“公司網站建設價...
在當今的數字化時代,企業網站已成為企業展示形象、吸引客戶和開展業務的重要平臺。然而,對于許多中小企業來說,高昂的網站建設費用可能會成為其發展的瓶頸。幸運的是,隨...
lol噬魂者vn能賣多少錢?大約3400。有時抽獎抽到好皮,人民幣很難衡量其價值。例如,你最喜歡的皮膚可能不值錢,但它在你心中是無價的。舉個例子,如果我抽龍蝦,就不會像我計劃的那樣舒服。英雄聯盟,那個噬魂者vn,兌換八十顆寶石大約要多少錢?這取決于你的運氣。一般都在2000元以上。我有兩個數字,一個是100元,另一個是2300元。lol云頂之弈噬魂者陣容搭配?云頂食魂隊推薦六神四靈或六玉劍四靈。隊...
蘋果手機下載鈴聲教程?1、打開一個音樂App,比如酷我,在播放界面再點擊三個點蘋果14怎么下載歌曲?建議使用USB轉換器將蘋果手機與移動設備直接連接,然后再然后打開蘋果手機的音樂播放器,在搜索框中再輸入自己就是喜歡的歌曲,直接點擊下載,將其存儲的目錄真接網頁到USB連接的移動設備,直接下載能完成之后即可存貯在移動設備中能夠完成去下載。iphone如何把音樂導入本地?1.關閉Apple Music進...
華堂超市是哪個國家?北京華堂商場是北京著名的大型商場之一。是北京唯一一家與日本洋華堂在合作的綜合性大型百貨商場。北京周邊大型商場?1.燕莎友誼商城地址:朝陽區亮馬橋路52號2.賽特購物中心地址:朝陽區建國門外大街22號3.西單商場地址:西城區西單北大街120號4.復興商業城地址:西城區復興門外大街4號5.城鄉貿易中心地址:垣曲區復興路23號6.藍鳥大廈地址:朝陽區朝陽門外大街8號7.文海商業大廈地...