2009-07-31 24 views
3

目前我只是重置我需要在我的樣式表的頂部,像風格:在樣式表中使用*選擇的重置風格

html, body, div, fieldset, form, h1, h2, h3, h4, p, ul, li { 
    margin: 0; 
    padding: 0; 
} 

不過,我已經看到了很多的人們使用時間:

* { 
    margin: 0; 
    padding: 0; 
} 

這似乎使事情變得更容易,但在其他地方(鴕鳥政策記得在那裏...)我讀了認真使用*選擇會影響性能。

這是真的,一個很長的選擇器列表(該示例只有少數選擇器,它可能更多)執行比*選擇器好得多,並且*選擇器可能還有其他缺點嗎?

回答

2

我曾經運行過一些基準測試,並且* {}重置沒有比重置更慢 - Meyers,YUI並且根本沒有重置。

* {}重置的主要問題在於它重置了大多數瀏覽器的輸入按鈕上的填充,但IE保留了一些填充,使得跨瀏覽器一致地設置樣式非常困難。

4

爲什麼不使用其中一個標準的CSS重置文件,如Eric MeyerYAHOO的?

+5

我沒有投你一票,但你根本沒有回答這個問題。雅虎和Eric Meyer的文件都明確列出標籤 - 就像OP一樣。他在問爲什麼? – ChssPly76 2009-08-01 00:23:08

+0

感謝您的建議,但我喜歡使用我自己的CSS,以便我確切知道發生了什麼,並避免不必要的聲明。 – jeroen 2009-08-01 00:26:49

+0

@Jeroen,CSS Reset's不是「不必要的聲明」。如果你問的是平衡不同瀏覽器之間的行爲,重置(最好Meyers'在我看來)是最好的選擇。 – Sampson 2009-08-01 01:32:17

3

通過Google's Speed Recommendations,通配符選擇器效率非常低。另外,在未來,您可能有盒子,你不要想要重置。通過單獨命名每一個,您將獲得效率和控制權。