Sınıf Seçiciler
Sınıf seçiciler (Class Selectors) CSS’te, birden fazla HTML öğesine aynı stili uygulamanın en verimli yollarından biridir. Herhangi bir HTML elementine bir veya birden fazla sınıf (class) atanabilir ve CSS’te bu sınıf adı nokta (.
) ile başlatılarak seçici olarak kullanılır. Bu, özellikle tekrar eden stilleri yönetmek, siteyi ölçeklenebilir kılmak ve kodu düzenli tutmak için kritiktir.
Bir kişisel web sitesinde, “.vurgulu” gibi bir sınıf kullanarak önemli metinleri öne çıkarabilirsiniz. Blog sitelerinde, belirli yazı tiplerini veya alıntıları farklılaştırabilirsiniz. E-ticaret sitelerinde, indirimli ürünleri veya yeni ürünleri tek bir sınıf ile işaretleyip görsel olarak vurgulayabilirsiniz. Haber sitelerinde ise acil haberleri farklı renkte veya çerçevede göstermek için sınıflar idealdir.
Bunu, bir ev inşa etmeye benzetebiliriz: Her odanın işlevine göre (yatak odası, mutfak, salon) farklı dekorasyonlar yaparsınız. Sınıflar da sayfanızdaki öğelere kimlik vererek, hangi “odanın” nasıl dekore edileceğini belirlemenizi sağlar. Bu derste şunları öğreneceksiniz:
- Sınıf seçicilerin temeli ve nasıl yazıldığı.
- Gerçek dünyada blog, e-ticaret ve haber sitelerinde nasıl uygulandığı.
- İleri seviye kullanım örnekleri, iyi uygulamalar ve yaygın hatalardan kaçınma yolları.
Temel Örnek
css/* Highlight elements with "vurgulu" class */
.vurgulu {
background-color: yellow; /* Bright background to draw attention */
font-weight: bold; /* Make the text stand out */
padding: 10px; /* Add inner spacing for readability */
}
---
Yukarıdaki örnekte bir sınıf seçici .vurgulu
tanımlanmıştır. Sınıf seçiciler daima bir nokta (.) ile başlar ve ardından sınıf adı gelir. Bu seçici, HTML’de class="vurgulu"
atanmış tüm öğelere uygulanır.
Kodun her parçası:
background-color: yellow;
– Öğeyi sarı renkle vurgular, böylece önemli alanlar kullanıcı tarafından hızlı fark edilir.font-weight: bold;
– Yazıyı kalınlaştırır, hiyerarşide daha üstte görünmesini sağlar.padding: 10px;
– İç boşluk ekler, metnin kenarlara yapışmasını engeller ve okunabilirliği artırır.
Pratik kullanım:
Eğer HTML’de<p class="vurgulu">Önemli Duyuru</p>
yazarsanız, bu paragraf otomatik olarak sarı zeminli ve kalın görünecektir. Bu, özellikle haber sitelerinde son dakika duyuruları veya bloglarda önemli notlar eklemek için kullanışlıdır.
Başlangıçta sık sorulan sorular:
- “Neden stil uygulanmıyor?” → Muhtemelen sınıf adı yanlış yazılmış ya da CSS dosyanız HTML’e bağlanmamış.
- “Bir öğeye birden fazla sınıf verebilir miyim?” → Evet, boşlukla ayırarak:
class="vurgulu yeni"
. - “Sıra önemli mi?” → Evet, aynı öğeye birden fazla kural uygulanıyorsa, CSS’te en son gelen kural baskın olur.
Pratik Örnek
css/* E-ticaret sitesinde yeni ürünleri vurgulama */
.urun.yeni {
border: 2px solid green; /* Highlight with green border */
background-color: #f0fff0;/* Light green background */
margin-bottom: 20px; /* Space between items */
padding: 15px; /* Inner spacing for content */
}
/* Blogda öne çıkan yazılar */
.makale.vurgulu {
color: #d32f2f; /* Red text for emphasis */
text-transform: uppercase;/* Convert text to uppercase */
font-weight: bold; /* Highlighted weight */
}
---
Bu pratik örnek, kombine sınıf seçicileri kullanarak gerçek dünyada nasıl çalıştığını gösterir.
.urun.yeni
seçicisi, sadece iki sınıfa da sahip olan öğeleri hedefler. Bu, e-ticaret sitelerinde yalnızca yeni ürünlerin özel bir şekilde vurgulanmasını sağlar. .urun
ürün kartının temel stilini verirken, .yeni
yalnızca belirli bir durumu ifade eder.
.makale.vurgulu
ise blog sayfalarında öne çıkan yazıları seçer. Rengi kırmızı yapar, metni büyük harfe çevirir ve kalınlaştırır. Bu görsel hiyerarşi sayesinde kullanıcılar hangi içeriklerin önemli olduğunu kolayca fark eder.
İleri seviye bağlantılar:
- Kombine sınıflar ile modüler CSS oluşturulur.
- Pseudoclass ile etkileşim eklenebilir:
.urun.yeni:hover { transform: scale(1.05); }
. - JavaScript ile sınıflar eklenip kaldırılabilir, böylece dinamik içerik yönetimi sağlanır.
En İyi Uygulamalar:
- Anlamlı sınıf isimleri kullanın (ör.
.buton-satin-al
), renk veya şekle bağlı isimlerden kaçının. - Mobile-first tasarım benimseyin, küçük ekranlar için temel stili yazıp sonra büyütün.
- CSS’i modüler tutun, tekrar kullanılabilir sınıflar oluşturun.
-
Gerektiğinde yorumlar ekleyin, takım arkadaşlarınızın da anlayacağı bir yapı kurun.
Yaygın Hatalar: -
Aşırı genel sınıf isimleri (örn.
.box
), beklenmedik çakışmalara yol açar. - Sık sık
!important
kullanmak, kodu yönetilemez hale getirir. - Anlamsız derin seçici zincirleri yazmak, performansı ve bakımı zorlaştırır.
- Responsive tasarımı ihmal etmek, mobilde bozuk görünümlere yol açar.
Hata ayıklama ipuçları:
- Tarayıcı DevTools ile hangi stilin geçerli olduğunu inceleyin.
- Renkli sınırlar geçici olarak ekleyerek hangi öğenin seçildiğini görün.
- Stil çakışmalarını izole etmek için sınıfları tek tek kapatıp açın.
📊 Hızlı Referans
Property/Method | Description | Example |
---|---|---|
.class | Belirtilen sınıfa sahip tüm öğeleri seçer | .vurgulu { color: red; } |
.class1.class2 | Her iki sınıfa da sahip öğeleri seçer | .urun.yeni { border: 1px solid; } |
element.class | Belirtilen sınıfa sahip belirli elementleri seçer | p.uyari { font-weight: bold; } |
.class:hover | Fare üzerine gelindiğinde stil uygular | .buton:hover { background: blue; } |
.parent .child | Belirtilen ebeveyn içindeki alt sınıfı seçer | .menu .item { padding: 5px; } |
Bu derste sınıf seçicilerin gücünü ve esnekliğini öğrendiniz.
Ana çıkarımlar:
- Sınıf seçiciler, birden fazla öğeye aynı stili uygulamanın en pratik yoludur.
- Kombine sınıflar, kodu modüler ve tekrar kullanılabilir hale getirir.
-
Dikkatli kullanım, bakım maliyetini azaltır ve responsive tasarımı kolaylaştırır.
HTML ve JavaScript ile bağlantı: -
HTML’de
class="isim"
ile atanır. - JavaScript ile
element.classList.add()
veyaremove()
kullanılarak dinamik stil değişimi yapılır. - Bu sayede etkileşimli, duruma bağlı tasarımlar oluşturulabilir.
Sıradaki adımlar:
- Pseudoclass ve pseudoelementler (
:hover
,::after
) ile etkileşimi artırın. - CSS animasyonları ile sınıfları daha dikkat çekici hale getirin.
- BEM metodolojisi gibi yapılarla büyük projelerde düzenli bir sistem kurun.
🧠 Bilginizi Test Edin
Bilginizi Test Edin
Bu konudaki anlayışınızı pratik sorularla test edin.
📝 Talimatlar
- Her soruyu dikkatle okuyun
- Her soru için en iyi cevabı seçin
- Quiz'i istediğiniz kadar tekrar alabilirsiniz
- İlerlemeniz üstte gösterilecek