Sobes.tech
Junior

BEM metodolojisi nedir?

sobes.tech yapay zeka

AI'dan gelen yanıt

BEM (Blok, Öğe, Modifikator) — CSS'te ölçeklenebilir ve sürdürülebilir kod oluşturmak için sınıf isimlendirme metodolojisidir. Amacı, bileşenleri bağımsız, yeniden kullanılabilir ve kolayca değiştirilebilir hale getirmektir.

Temel ilkeler:

  • Blok: Bağımsız bileşen, benzersiz bir isme sahiptir. Öğeleri ve diğer blokları içerebilir.
    <div class="card">...</div>
    
  • Öğe: Blok dışında bağımsız anlamı olmayan bloğun bir parçası. Öğenin adı, blok adından iki alt çizgi (__) ile ayrılır.
    <div class="card">
      <h2 class="card__title">...</h2>
      <p class="card__text">...</p>
    </div>
    
  • Modifikator: Blok veya öğeye durum ekler veya görünüm/davranışını değiştirir. Modifikatorun adı, blok veya öğe adından iki tire (--) ile ayrılır.
    <button class="button button--primary button--disabled">...</button>
    <div class="card card--featured">...</div>
    

Avantajlar:

  • Okunabilirlik: Sınıflar kolayca anlaşılır, bileşenin yapısı görünür.
  • Yeniden kullanılabilirlik: Bileşenler bağımsızdır ve projede farklı bölümlerde kullanılabilir.
  • Bakım kolaylığı: Bir bileşende yapılan değişiklikler diğerlerini minimum düzeyde etkiler.
  • Ölçeklenebilirlik: Büyük ekipler ve projeler için uygundur.

Örnek yapı:

.card {
  /* Blok stilleri */
}

.card__title {
  /* Öğe stilleri */
}

.card__text {
  /* Öğe stilleri */
}

.card--featured {
  /* Blok modifikator stilleri */
}

.button {
  /* Blok stilleri */
}

.button--primary {
  /* Blok modifikator stilleri */
}

.button--disabled {
  /* Blok modifikator stilleri */
}