Sobes.tech
Junior

Ce este metodologia BEM?

sobes.tech AI

Răspuns de la AI

BEM (Bloc, Element, Modificator) — o metodologie de denumire a claselor în CSS pentru crearea unui cod scalabil și ușor de întreținut. Scopul său este de a face componentele independente, reutilizabile și ușor de modificat.

Principii de bază:

  • Bloc: Component independent, cu un nume unic. Poate conține elemente și alte blocuri.
    <div class="card">...</div>
    
  • Element: Parte a blocului care nu are semnificație autonomă în afara contextului blocului. Numele elementului este separat de numele blocului prin două underscore-uri (__).
    <div class="card">
      <h2 class="card__title">...</h2>
      <p class="card__text">...</p>
    </div>
    
  • Modificator: Adaugă stare sau schimbă aspectul/comportamentul blocului sau elementului. Numele modificatorului este separat de numele blocului sau elementului prin două cratime (--).
    <button class="button button--primary button--disabled">...</button>
    <div class="card card--featured">...</div>
    

Avantaje:

  • Lisibilitate: Clasele sunt ușor de înțeles, se vede structura componentului.
  • Reutilizare: Componentele sunt independente și pot fi folosite în diferite părți ale proiectului.
  • Ușurință în întreținere: Modificările într-un component afectează minim celelalte.
  • Scalabilitate: Potrivit pentru echipe mari și proiecte.

Exemplu de structură:

.card {
  /* Stiluri pentru bloc */
}

.card__title {
  /* Stiluri pentru element */
}

.card__text {
  /* Stiluri pentru element */
}

.card--featured {
  /* Stiluri pentru modificatorul blocului */
}

.button {
  /* Stiluri pentru bloc */
}

.button--primary {
  /* Stiluri pentru modificatorul blocului */
}

.button--disabled {
  /* Stiluri pentru modificatorul blocului */
}