CodeBlanks Logo Icon CodeBlanks

CSS Modules

CSS Modules ile yerel sınıf adları oluşturmayı öğrenirsin.

CSS Modules

CSS Modules, stilleri bileşene özel yapar. Dosya adı Button.module.css olur; içe aktarırken bir nesne alırsın: import styles from "./Button.module.css".

Sınıfı className={styles.btn} ile verirsin. Bundler her sınıfa benzersiz bir ad üretir; böylece çakışma olmaz.

Bu yöntem, büyük projelerde güvenli stil yazmanın standart yoludur. Takım içinde sınıf adlarının çakışması derdini ortadan kaldırır; her bileşen kendi stillerinde izole kalır.

Kapsamlı sınıf adları

Modules, .btn gibi basit bir adı Button_btn__x7y2 gibi benzersiz bir adla değiştirir. Bu adı sen yazmazsın; bundler otomatik üretir.

Böylece iki bileşende de .btn olsa bile çakışmazlar. Bu, ölçeklenebilir stil yönetiminin temelidir.

CamelCase sınıf adları kullanabilirsin: styles.primaryBtn. Tireli adlar köşeli parantezle alınır; ama camelCase daha temizdir, bu yüzden onu tercih ederiz.

Uygulama Modules düğme

Aşağıdaki iskeleti tamamla. PrimaryButton bileşeni yaz; styles nesnesini "./PrimaryButton.module.css"'den içe aktar. <button className={styles.primary}>Gönder</button> döndürsün. Dışa aktar.

Başlangıç kodu

App.jsx
// PrimaryButton bileşenini buraya tanımla

// styles'i içe aktarmayı unutma

Örnek çözüm

App.jsx
import styles from "./PrimaryButton.module.css";

function PrimaryButton() {
  return <button className={styles.primary}>Gönder</button>;
}

export default PrimaryButton;

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 CSS Modules dosya adı nasıl biter?

App.jsx
The bundler scopes based on the suffix.
  • .css
  • .style
  • .scss
  • .module.css Doğru cevap

Açıklama: .module.css eki Modules olduğunu belirtir.

2 CSS Modules: eksik parçayı tamamla

Soru
className={____}
Cevap
className={styles.btn}

Açıklama: styles nesnesinden sınıfı aldın.

3 CSS Modules: kavramları eşleştir

Kavram Anlamı
.module.css Modules eki
styles.btn Sınıf kullanımı
benzersiz ad Çakışma yok
camelCase Ad yazımı

Başlangıç bölümündeki tüm dersler