2012-07-26 35 views
0

可能重複:
What is the performance impact of CSS's universal selector?重置CSS箱尺寸:通用選擇VS .box的類

我使用我的樣式表box-sizing屬性,因爲它使一切更容易佈局。

我這樣做的方式是製作所有基本佈局的元素class="box",並將.box類重置爲border-box。我的推理是,最好的做法是儘可能具體。但是我最近看到有人用這個:

* { 
    -webkit-box-sizing: border-box; 
    -moz-box-sizing: border-box; 
    box-sizing: border-box;   
} 

這是因爲它重置所有元素和取0後端擺弄理想,但它會在性能方面是一個壞主意?整個文檔的通用選擇器有多昂貴?

+1

值得一提的是,使用'box-sizing'會在IE7及更早版本中破壞您的網站。 – Spudley 2012-07-26 20:32:17

+1

值得一提的是,這已經在IE8中破解了(你沒有包含'-ms-'前綴)。至於IE7和更早的@Spudley,你可以試試[這個polyfill](https://github.com/Schepp/box-sizing-polyfill)。 – 0b10011 2012-07-26 20:37:43

+0

@bfrohs感謝您的領導。我查了一下,我認爲IE8現在不用'-ms-'接受它,但爲了以防萬一,它可能還是值得添加的。 - 至於IE7和更早的...爲我自己的個人網站,我只是不打擾。對於其他任何事情,現在我已經使用了一個單獨的更簡單的樣式表,因爲我對舊瀏覽器不太瞭解,不知道如何安撫他們所有的怪癖。 – iDontKnowBetter 2012-07-26 20:52:55

回答

1

通用選擇器是您可以在性能方面使用的最昂貴的選擇器。

基準這裏:http://perfectionkills.com/profiling-css-for-fun-and-profit-optimization-notes/

話雖如此,這取決於你所說的「表現」的意思。如果您的網站速度很慢,除了樣式表之外,可能還有其他一些原因,除非它們真的是真的寫得不好。

+0

因此,因爲我從來沒有使用它,它看起來像'*'的一個實例不應該影響性能太多,對吧? - 另外,我不知道從右到左的解析。這改變了我的許多先入之見。 – iDontKnowBetter 2012-07-26 22:41:22