Sobes.tech
Junior

Ի՞նչ է BEM մեթոդաբանությունը։

sobes.tech AI

Պատասխան AI-ից

BEM (Բլոկ, Էլեմենտ, Մոդիֆիկատոր) — CSS-ում դասերի անվանման մեթոդոլոգիա՝ ընդարձակելի և հեշտ սպասարկվող կոդ ստեղծելու համար: Նրա նպատակն է դարձնել կոմպոնենտները անկախ, վերաօգտագործելի և հեշտ փոփոխվող:

Հիմնական սկզբունքներ՝

  • Բլոկ: Անկախ կոմպոնենտ, որը ունի յուրահատուկ անուն: Կարող է պարունակել էլեմենտներ և այլ բլոկներ:
    <div class="card">...</div>
    
  • Էլեմենտ: Բլոկի մաս, որը ինքնուրույն նշանակություն չունի բլոկի կոնտեքստից դուրս: Էլեմենտի անունը բաժանվում է բլոկի անունից երկու ստորակետով (__):
    <div class="card">
      <h2 class="card__title">...</h2>
      <p class="card__text">...</p>
    </div>
    
  • Մոդիֆիկատոր: Ավելացնում է վիճակ կամ փոխում է բլոկի կամ էլեմենտի տեսքը/գործողությունը: Մոդիֆիկատորի անունը բաժանվում է բլոկի կամ էլեմենտի անունից երկու հինիշով (--):
    <button class="button button--primary button--disabled">...</button>
    <div class="card card--featured">...</div>
    

Առավելություններ՝

  • Կարդալություն: Կլասները հեշտ է հասկանալ, տեսնում է կոմպոնենտի կառուցվածքը:
  • Վերաօգտագործելիություն: Կոմպոնենտները անկախ են և կարող են օգտագործվել տարբեր մասերում:
  • Կարգավիճակի փոփոխություն: Փոփոխությունները մեկ կոմպոնենտում նվազագույն ազդեցություն ունեն մյուսների վրա:
  • Մասշտաբայնություն: Հարմար է մեծ թիմերի և նախագծերի համար:

Նմուշային կառուցվածք՝

.card {
  /* Բլոկի ոճեր */
}

.card__title {
  /* Էլեմենտի ոճեր */
}

.card__text {
  /* Էլեմենտի ոճեր */
}

.card--featured {
  /* Բլոկի մոդիֆիկատորի ոճեր */
}

.button {
  /* Բլոկի ոճեր */
}

.button--primary {
  /* Բլոկի մոդիֆիկատորի ոճեր */
}

.button--disabled {
  /* Բլոկի մոդիֆիկատորի ոճեր */
}