SORU
11 Mayıs 2010, Salı


CSS özgüllüğü puan

Bu sendeledi araştırma özgüllük - http://www.htmldog.com/guides/cssadvanced/specificity/ blog

Özgüllük CSS için nokta-puanlama sistemi olduğunu belirtiyor. Elemanları 1 puan değerinde olduğunu bize söyler, sınıfları 10 puan değerinde ve Kimlikleri 100 puan değerinde. Ayrıca bu puan olarak gerçekleşti ve toplam tutarı, seçici özgülüğü iyi ki devam ediyor.

Örneğin:

vücut= 1 puan
vücut .sarıcı= 11 puan
vücut .kap . sarıcı # = 111 puan

Yani, bu noktaları mutlaka aşağıdaki CSS ve HTML kullanarak Metin Mavi neden olur:

CSS:

#a {
    color: red;
}

.a .b .c .d .e .f .g .h .i .j .k .l .m .n .o {
    color: blue;
}

HTML:

<div class="a">
    <div class="b">
        <div class="c">
            <div class="d">
                <div class="e">
                    <div class="f">
                        <div class="g">
                            <div class="h">
                                <div class="i">
                                    <div class="j">
                                        <div class="k">
                                            <div class="l">
                                                <div class="m">
                                                    <div class="n">
                                                        <div class="o" id="a">
                                                            This should be blue. 
                                                        </div>
                                                    </div>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>

SONUÇ:

http://jsfiddle.net/hkqCF/

Neden 15 sınıflar 100 puan eşittir 1 ID göre 150 puan eşit zaman metin kırmızı mı?

DÜZENLEME:

Yani görünüşe göre, sadece puan olarak gerçekleşti değil mi, birleştirilmiş ediyorlar. Burada - http://www.stuffandnonsense.co.uk/archives/css_specificity_wars.html hakkında daha fazla bilgi edinin AMA, bu bizim seçici olarak sınıflar anlamına mı geliyor = 0,0,15,00,1,5,0?

ID seçici özgülüğü bu gibi görünüyor bildiğimiz gibi içgüdülerim eski olduğunu söyle: 0,1,0,0

CEVAP
13 AĞUSTOS 2012, PAZARTESİ


Pekka's answerneredeysedoğru, ve muhtemelen bu konuda en iyisi.

Çok önceden belirttiği gibi, ancak, W3C CSS önerisi "üç sayı a-b-c (geniş tabanlı bir sayı sisteminde) Bitiştirmek özgüllük verir." denilmektedir Bu yüzden benim kız sadece ne kadar büyük bir üs olduğunu anlamaya vardı.

"Çok büyük Bankası" (en az 4, yaygın olarak kullanılan tarayıcılar çoğu . tarafından istihdam çıkıyor ^sup>*bu standart algoritma uygulamak için 256 veya 28.

Bu ne demek bir stil 0 kimlikleri ve 256 ile belirtilen sınıf adlarıaşırı sürüş stili sadece 1 id ile belirtilen. Bu biraz kemanlar ile test ettim:

Etkili bir şekilde, "puan sistemi" ama temel 10. değil var 256 üssü. İşte nasıl çalışır:

(28)2ya da 65536, kat seçici olarak kimlik numarasını
(28)1ya 256, kat seçici olarak sınıf-isim sayısı
(28)0ya da 1, Kat seçici etiketi-isim sayısı

Bu geri-of-the-zarf egzersizleri için kavram iletişim kurmak için çok pratik değil.
Bu konuyla ilgili makaleler temel 10 kullanmışlardır muhtemelen bu yüzden.

***** [2 Opera kullanır16(bkz karlcow yorum). Başka bir seçici motorları kullanınsonsuzluk— puan sistemi etkili (Simon Sapin yorum bakınız).]

Güncelleme, Temmuz 2014:
Blazemonger yıl içinde daha önce de belirtildiği gibi, y tarayıcılar (chrome, safari) şimdi 256'dan daha yüksek bir taban kullanmak için görünür. Belki 216Opera gibi? IE ve Firefox hala 256 kullanın.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Art Food Kitty - Kelly Eddington

    Art Food Kit

    7 Kasım 2006
  • B4ROK

    B4ROK

    1 EKİM 2008
  • Eric Magidson

    Eric Magidso

    4 Ocak 2009