Temel CSS seçicilerinden olan sınıf (class) seçicileri şu yazımda sizlere paylaşmıştım. CSS ile XHTML içeriğimizi şekillendirirken aslında sadece bir sınıf seçici kullanmak durumunda değiliz. Uygulamanın ihtiyaçlarına göre, bazı XHTML elementlerinde çoklu sınıf kullanmamız gerekebilir.
İsterseniz çoklu sınıf kullanımını örnek bir XHTML içerik üzerinden konuşalım.
<p class="alignRight first-paragraph">Paragraf</p>
Yukarıdaki örnekte gördüğünüz gibi bir paragraf etiketine birden fazla class atanmış durumda… Bir XHTML elemente birden fazla class uygulamak istersek her class arasına boşluk gelecek şekilde kullanmamız gerekiyor.
.alignRight {
text-align:right;
}
.first-paragraph {
color:red;
font-weight:bold;
text-align:left;
}
Daha çok, çoklu sınıfları, bir XHTML elemente belirli bir özellik vermek istediğimizde kullanırız. Böylece birden fazla yerde kullanabileceğimiz alignRight sınıfındaki tanımlamayı, first-paragraph sınıfında tekrardan tanımlamamıza gerek kalmaz.
Bu kavram bilmeyenler için sorun teşkil edebilir. Kısaca özetlersem cascading; bir XHTML elementi işaret eden kurallardan hangisinin onu etkileyeceğinin bulunması sürecidir. Bu önemlidir çünkü; CSS’de kurallar yukarıdan aşağıya tanımlanarak, farklı belirlilik (specificity) değerleri çerçevesinde XHTML elementlere etki ederler.
Hemen örnekleyelim;
<p class="kirmizi sari mavi">Paragraf</p>
Şimdi de CSS’i oluşturalım;
.kirmizi {color:red;}
.sari {color:yellow;}
.mavi {color:blue;}
Şimdi sorulması gereken soru şu: Paragrafa hangi renk uygulanacak? Burada W3C tavsiyesi uyarınca aynı seviyedeki (specificity) bu üç sınıftan en son gelen, yani mavi sınıfı paragrafa uygulanacaktır. Sizce XHTML’de sınıfların yazılma sırasını değiştirmek herhangi bir şeyi değiştirir mi?
<p class="sari mavi kirmizi">Paragraf</p>
Yukarıdaki örnekteki gibi, sınıfların XHTML içerisinde yazılma sıralarının değiştirilmesi, sonucu değiştirmez. Çünkü CSS içerisinde aynı özelliğe ve aynı belirlilik (specificity) değerine sahip olan ve aynı elementi işaret eden kurallar yukardan aşağı okunur ve en son geleni baskın olarak XHTML elemente yansır.
CSS bize çoklu sınıf uygulanmış bir XHTML elementi spesifik olarak seçmemize imkan tanır.
<p class="uyari alternatif_1">Paragraf</p>
Şimdi de aşağıdaki CSS kodlarını oluşturalım;
.uyari.alternatif_1 {color:red;} /* Çoklu Sınıf Seçimi */
.alternatif_1 {color:green}
.uyari {font-size:1.6em;}
Yukarıdaki çoklu CSS seçimi ile, ilgili paragrafımızı spesifik olarak seçerek, buradaki kuralın paragrafa uygulanmasını sağladık. Böylece kırmızı renk baskın gelerek, XHTML elemente uygulanmış oldu.
Fırından yeni çıkmış yazılardan haberdar olmak için RSS yayınıma abone olabilir ya da beni Twitter'dan takip edebilirsiniz.
Yorumla BakalımBu Makale için toplam 7 adet yorum bulunmaktadır...
Bu Makale 25 March, 2009 ve saat 17:19 itibariyle CSS kategorisi altına kaydedilmiştir. Bu makale ile ilgili yorumları RSS 2.0 beslemesinden takip edebilirsiniz.. Bu makale için yorum yapabilir, veya kendi web sitenize trackback sağlayabilirsiniz...
26 March, 2009 ve saat 10:37:54'de gönderdi...
Çoklu sınıf kullanımı oldukça kullanışlı ve yararlı. Fakat bunun için kurguyu önceden çok iyi yapmak lazım. Koları ezdirmek an meselesi
o yüzden belli başlı kullanacağınız özellikler için hazırlayıp kullanmanız en doğrusu.
26 March, 2009 ve saat 15:35:14'de gönderdi...
@Kadir selamlar, CSS bize çok büyük esneklikler ve seçim özgürlüğü sağlayan bir dil, yalnız dediğin gibi planlama konusunda kurguyu doğru kurmazsak canımını sıkabilecek durumlarla karşılaşabiliriz…
26 March, 2009 ve saat 15:44:48'de gönderdi...
Açıklayıcı olmuş, eline sağlık.
26 March, 2009 ve saat 16:00:42'de gönderdi...
@Levent, yorumun için teşekkür ederim…
Kolay gelsin…
26 March, 2009 ve saat 17:20:08'de gönderdi...
Güzel bir yazı olmuş. Teşekkürler.
19 May, 2010 ve saat 17:18:04'de gönderdi...
Hocam Blog’un buram buram kalite kokuyor
Çok kaliteli makaleler bunlar teşekkür ederiz.
23 May, 2010 ve saat 23:35:43'de gönderdi...
Teşekkür ederim Mert