CodeBlanks Logo Icon CodeBlanks

Özet - Bileşen kütüphanesi

CSS kursu · Uzman · Ders 6/53

BEM ve cascade layers ile bileşen kütüphanesi iskeleti kurarsın.

Bileşen kütüphanesi iskeleti

Bir bileşen kütüphanesi, yeniden kullanılan arayüz parçalarını tek yerde toplar: düğmeler, kartlar, formlar, uyarılar. Her bileşen BEM ile adlandırılır, stilleri @layer ile katmanlara konur. Böylece kütüphane, uygulamalar içinde tutarlı ve değiştirmesi kolay kalır.

Tipik bir iskelet: base katmanında sıfırlama ve tipografi; components katmanında her bileşenin kendi bölümü; utilities katmanında yardımcı sınıflar. Bir bileşeni değiştirmek yalnızca tek bir bölümü etkiler; çakışma yok, spesifite düşük, bakım kolay.

Uygulama Bileşen kütüphanesine button ekle

En üste @layer base, components; sıralamasını ekle. Sonra @layer components bloğu içinde bir BEM üçlüsü yaz: .button bloğu için display: inline-flex; .button--primary modifier'ı için background: navy ve color: white.

Örnek çözümü göster
/* katman sıralaması ve button BEM'ini ekle */
@layer base, components;

@layer components {
  .button {
    display: inline-flex;
  }
  .button--primary {
    background: navy;
    color: white;
  }
}

İskelet nasıl büyür?

Bir bileşen kütüphanesi zamanla büyür. Yeni bir bileşen eklendiğinde tek yapman gereken: components katmanında yeni bir BEM bloğu açmak ve HTML'de o sınıfları kullanmak. Eski bileşenleri bozma riski düşüktür çünkü her sınıf düz ve katmana bağlıdır.

Bu yaklaşımın özeti: adlar BEM ile (block, element, modifier), sıra @layer ile, spesifite düşük ve düz sınıflarla. Üçü birleşince büyük projelerde bile CSS tutarlı ve bakımı kolay kalır.

Kendini test et

  1. Mimari parçayı yerine eşle

    base katmanı
    Sıfırlama ve tipografi
    components katmanı
    Bileşen stilleri
    utilities katmanı
    Yardımcı sınıflar
    .button--primary
    BEM modifier
  2. Bileşen kütüphanesinde hangi yaklaşım önerilir?

    • BEM adları + @layer katmanları
    • Tek style.css + !important
    • Kimlik seçicileri + iç içe seçiciler
    • Yalnızca tür seçicileri
    Cevabı göster

    BEM adları + @layer katmanları — Doğru. BEM sınıfları düz ve düşük spesifiteli; @layer çakışmayı katman sırasıyla denetler.

Uzman bölümündeki tüm dersler