CSS’de Tanımlamalar ve Etkinlikleri(Specificity)

CSS CSS’de Tanımlamalar ve Etkinlikleri(Specificity) Photoshop & Tasarım hakkında bilgi paylaş; CSS’de etkinliğin anlamı stil çatışması(aynı elemente birden fazla tanım yapıldığında) olduğunda ...
Cevapla
WebMasTer SiTeSi
 
Seçenekler
  #1  
Arama 06-11-2007, 10:23
kadınca
Guest
Mesajlar: n/a
 
     WS-Ticareti: ()

CSS’de Tanımlamalar ve Etkinlikleri(Specificity)

CSS’de etkinliğin anlamı stil çatışması(aynı elemente birden fazla tanım yapıldığında) olduğunda kullanılan hangi kodun web tarayıcıları tarafından yorumlanacağını belirlemektir.
Bir XHTML sayfamıza iki adet stil dosyası eklediğimizi düşünelim. Fakat bu stil dosyalarımızdan birinde h1 elementine bold özelliği atanmışken diğer stil dosyamızda italiktik özelliği atanmış. Bu durumda web tarayıcıları hangisini uygulayacaktır. Hangisinin etkin olduğunu bulup ona göre sayfayı yorumlayacaktır.
Burada iki tanımlamanın yakınlık dereceleri aynı. O zaman hangisi uygulanacak. Böyle durumlarda web tarayıcıları kendilerine has garip bir hesaplama sistemi kullanırlar. Kuralları aşağıdaki gibidir.
  • Kod içinde tanımlama yapılmışsa (inline-kod)
  • Stil dosyasındaki tanımlı ID’lerin sayısına
  • Sınıf tanımlalarının sayısına
  • Seçicilerin sayısına bakar
Kod içinde tanımlama yapılmışsa (inline-kod) kısmı CSS2.1 ile gelen yeni bir özelliktir ve etkinlik değerini 4 basamağa çıkarmıştır. CSS2 ve öncesinde üç basamaklı hesaplama yapılmakta idi, kod içindeki tanımlamalar üç başamağa göre 1,0,0 olarak belirlenirdi.

Web tarayıcısı bu sayıları toplamaz. Yalnızca rakamları yanyana sıralar. Bu web tarayıcılarına özel bir aritmetik işlemdir. Bir örnek verecek olursak id değeri 2, sınıf değeri 3 ve seçici değeri 0 olan bir tanımlamada
0 (kod içinde değil), 2 (id), 3 (class), 0(seçici) = 0230
Değerini elde ederiz. Burada id değeri 100′ler basamağına sınıf değeri 10′lar basamağına yazılarak hesaplama yapılır ve ikiyüz otuz değeri elde edilir.
  1. ul h1 li.secili {color: yellow;}
Yukarıdaki tanımlama da 0013 değerini elde ederiz.
0 (kod içinde değil), 0 (id), 1 (secili sınıfı), 3 (ul h1 li seçicileri) = 0013
  1. h1 {color: blue;}
Bu tanımlamanın değeri 0001 dir. CSS belirlemeye göre yüksek değer alanın özelliği uygulanır. Her ikisinde de h1′e bir tanımlama yapılmıştır. Ancak tanımlama sistemleri farklıdır. XHTML kodumuzdaki h1 elementimizi mavi değil sarı(yellow) olarak gösterecektir.
Bide öncelik için!important tanımlaması vardır. Eğer yukarıdaki koda !important eklersek
  1. H1 {color: blue !important;}
Tanımlama yukarıdaki gibi değiştirildiğinde h1 elementimiz mavi renkde görünecektir.
Eğer değer aynı olursa(mesela 0013 e 0013) ne olur, bu durumda son yapılan tanımlamanın özellikleri uygulanır.
Alıntı ile Cevapla
Cevapla
Arama Etiketleri: ,



Seçenekler


Benzer Konular
Konu Konu Açanlar Forum Cevaplar Güncel Mesajlar
Aytmatov’un Türkiye’de 5 milyon dolarlık ’telif hakkı’ kaldı kadınca Haberler 0 16-06-2008 12:12
CSS’de Tanımlamalar ve Etkinlikleri(Specificity) B737 CSS 0 26-01-2008 03:46
Van’daki savcının ’Bayramlık’ davası 26 Kasım 2007 kadınca Haberler 0 26-11-2007 12:19
Üçü birarada kahveyle yayıldı Türkiye’yi ’fethetmeye’ geldi kadınca Haberler 0 25-11-2007 02:47
Tanzimat’tan Cumhuriyet’e Osmanlılar’da “Felsefe” Celebrian Felsefe 0 20-11-2007 04:07


Webmaster web tasarım online reviews ~ Kadınlar blogu ~ Apple iPhone, iPod Touch ( iTouch ) Forum ~ iPhone