Sobes.tech
Junior

BEM metodologiyasi nima?

sobes.tech AI

AIdan javob

BEM (Blok, Element, Modifikator) — CSSda sinflar nomlash metodologiyasi bo‘lib, kengaytiriladigan va qo‘llab-quvvatlanadigan kod yaratish uchun ishlatiladi. Uning maqsadi — komponentlarni mustaqil, qayta ishlatiladigan va oson o‘zgartiriladigan qilish.

Asosiy tamoyillar:

  • Blok: Mustaqil komponent bo‘lib, unikal nomga ega. U elementlar va boshqa bloklarni o‘z ichiga olishi mumkin.
    <div class="card">...</div>
    
  • Element: Blokning qismi bo‘lib, blok kontekstidan tashqarida mustaqil ma’noga ega emas. Element nomi blok nomidan ikki chiziq (__) bilan ajratiladi.
    <div class="card">
      <h2 class="card__title">...</h2>
      <p class="card__text">...</p>
    </div>
    
  • Modifikator: Blok yoki elementga holat qo‘shadi yoki uning tashqi ko‘rinishi/harakati o‘zgartiradi. Modifikator nomi blok yoki element nomidan ikki tire (--) bilan ajratiladi.
    <button class="button button--primary button--disabled">...</button>
    <div class="card card--featured">...</div>
    

Afzalliklar:

  • O‘qilishi: Sinflar oson tushunarli, komponent tuzilishi ko‘rinadi.
  • Qayta ishlatish: Komponentlar mustaqil bo‘lib, loyihaning turli qismlarida ishlatilishi mumkin.
  • Qo‘llab-quvvatlash: Bir komponentdagi o‘zgarishlar boshqalarga minimal ta’sir qiladi.
  • Kengaytirilish: Katta jamoalar va loyihalar uchun mos.

Struktura misoli:

.card {
  /* Blok uslublari */
}

.card__title {
  /* Element uslublari */
}

.card__text {
  /* Element uslublari */
}

.card--featured {
  /* Blok modifikatori uslublari */
}

.button {
  /* Blok uslublari */
}

.button--primary {
  /* Blok modifikatori uslublari */
}

.button--disabled {
  /* Blok modifikatori uslublari */
}