Sobes.tech
Junior

Czym jest metodologia BEM?

sobes.tech AI

Odpowiedź od AI

BEM (Blok, Element, Modyfikator) — to metodyka nazewnictwa klas w CSS, służąca do tworzenia skalowalnego i łatwego w utrzymaniu kodu. Jej celem jest uczynienie komponentów niezależnymi, wielokrotnego użytku i łatwymi do modyfikacji.

Podstawowe zasady:

  • Blok: Niezależny komponent, mający unikalną nazwę. Może zawierać elementy i inne bloki.
    <div class="card">...</div>
    
  • Element: Część bloku, która nie ma samodzielnego znaczenia poza kontekstem bloku. Nazwa elementu oddzielona od nazwy bloku dwoma podkreśleniami (__).
    <div class="card">
      <h2 class="card__title">...</h2>
      <p class="card__text">...</p>
    </div>
    
  • Modyfikator: Dodaje stan lub zmienia wygląd/zachowanie bloku lub elementu. Nazwa modyfikatora oddzielona od nazwy bloku lub elementu dwoma myślnikami (--).
    <button class="button button--primary button--disabled">...</button>
    <div class="card card--featured">...</div>
    

Zalety:

  • Czytelność: Klasy są łatwe do zrozumienia, widoczna jest struktura komponentu.
  • Ponowne użycie: Komponenty są niezależne i mogą być używane w różnych częściach projektu.
  • Łatwość utrzymania: Zmiany w jednym komponencie minimalnie wpływają na inne.
  • Skalowalność: Dobrze sprawdza się w dużych zespołach i projektach.

Przykład struktury:

.card {
  /* Style bloku */
}

.card__title {
  /* Style elementu */
}

.card__text {
  /* Style elementu */
}

.card--featured {
  /* Style modyfikatora bloku */
}

.button {
  /* Style bloku */
}

.button--primary {
  /* Style modyfikatora bloku */
}

.button--disabled {
  /* Style modyfikatora bloku */
}