1. <nobr id="easjo"><address id="easjo"></address></nobr>

      <track id="easjo"><source id="easjo"></source></track>
      1. 
        

      2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
      3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>
          貴州做網站公司
          貴州做網站公司~專業!靠譜!
          10年網站模板開發經驗,熟悉國內外開源網站程序,包括DEDECMS,WordPress,ZBlog,Discuz! 等網站程序,可為您提供網站建設,網站克隆,仿站,網頁設計,網站制作,網站推廣優化等服務。我們專注高端營銷型網站,企業官網,集團官網,自適應網站,手機網站,網絡營銷,網站優化,網站服務器環境搭建以及托管運維等。為客戶提供一站式網站解決方案?。?!

          BEM 簡介

          來源:互聯網轉載 時間:2024-01-29 07:52:43

          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;}

          BEM 常見問題

          避免 .block__el1__el2

          <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>

          modify 影響元素的寫法

          避免用 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>

          拓展閱讀

          • BEM 101
          • Battling BEM (Extended Edition): 10 Common Problems And How To Avoid Them
          • BEM FAQ
          • BEMIT: Taking the BEM Naming Convention a Step Further Healthchecks 這塊挺有意思。

          本文遵守創作共享CC BY-NC-SA 4.0協議 網絡平臺如需轉載必須與本人聯系確認。

          標簽:bem-

          網絡推廣與網站優化公司(網絡優化與推廣專家)作為數字營銷領域的核心服務提供方,其價值在于通過技術手段與策略規劃幫助企業提升線上曝光度、用戶轉化率及品牌影響力。這...

          在當今數字化時代,公司網站已成為企業展示形象、傳遞信息和開展業務的重要平臺。然而,對于許多公司來說,網站建設的價格是一個關鍵考量因素。本文將圍繞“公司網站建設價...

          在當今的數字化時代,企業網站已成為企業展示形象、吸引客戶和開展業務的重要平臺。然而,對于許多中小企業來說,高昂的網站建設費用可能會成為其發展的瓶頸。幸運的是,隨...

          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.文海商業大廈地...

          TOP
          国产初高中生视频在线观看|亚洲一区中文|久久亚洲欧美国产精品|黄色网站入口免费进人
          1. <nobr id="easjo"><address id="easjo"></address></nobr>

              <track id="easjo"><source id="easjo"></source></track>
              1. 
                

              2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
              3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>