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 {
  /* Блоктун модификаторунун стили */
}