SORU
6 Aralık 2012, PERŞEMBE


!performansı için kötü önemli?

Onlardan nefret ediyorum, CSS basamaklı doğaya meydan okuyor, ve eğer onları özenle kullanmasanız bile 2 ** daha ekleyerek bir döngü içinde bitirmek.

Ama performansı için kötü olduğunu bilmek istiyorum?

EDİT
(Hızlı) yanıt performansı üzerinde (anlamlı) bir etkiye sahip olmayacak söyleyebiliriz. Ama eğer sadece cesaret kırıcı diğerleri;) için ekstra bir argüman olarak kullanıyorsa bile bilmek güzel.

2 DÜZENLEYİN
BoltClock Eğer 2 !important bildirimleri "olmazsa olmaz" özellikleri en belirgin çeker diyor dikkat çekti.

CEVAP
6 Aralık 2012, PERŞEMBE


Performans gerçekten üzerine herhangi bir yan etkisi olmamalı. Görmekfirefox /source/layout/style/nsCSSDataBlock.cpp#572 CSS ayrıştırıcıve bu konuyla ilgili rutin kullanımı olduğunu düşünüyorumüzerineCSS kuralları.

sadece basit bir kontrol gibi görünüyor"". önemli

  if (aIsImportant) {
    if (!HasImportantBit(aPropID))
      changed = PR_TRUE;
    SetImportantBit(aPropID);
  } else {
    // ...

Ayrıca, bir yorumsource/layout/style/nsCSSDataBlock.h#219

    /**
     * Transfer the state for |aPropID| (which may be a shorthand)
     * from |aFromBlock| to this block.  The property being transferred
     * is !important if |aIsImportant| is true, and should replace an
     * existing !important property regardless of its own importance
     * if |aOverrideImportant| is true.
     * 
     * ...
     */

  1. Firefox yukarıdan aşağıya ayrıştırıcı elle yazılmış kullanır. Her iki durumda da, her Stil dosyası bir nesne ayrıştırılır CSS, her nesnenin CSS içerir kuralları.

  2. Firefox stil bağlam oluşturur sonuna ihtiva eden ağaçlar değerleri (doğru sırayla tüm kuralları uygulandıktan sonra)

CSS Parser Firefox

From: http://taligarsiel.com/Projects/howbrowserswork1.htm#CSS_parsing

Şimdi, kolayca görebilirsiniz, Nesne Modeli, yukarıda anlatılan durumda olduğu gibi, çözümleyici kuralları !important kolayca etkilenen, sonraki bir maliyet olmadan fazla işareti olabilir. Performans düşüşüdeğil!important karşı iyi bir argüman.

Ancak, sürdürülebilirliği onlara karşı tek argüman olabilecek bir hit diğer yanıtlar belirtildiği gibi), sürer.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Absolute Zero(Programming Tutorials)

    Absolute Zer

    22 Kasım 2012
  • metagamers

    metagamers

    13 Mayıs 2006
  • paikimchung

    paikimchung

    12 Mayıs 2006