2009-07-31 56 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,通配符选择器效率非常低。另外,在未来,您可能有盒子,你不要想要重置。通过单独命名每一个,您将获得效率和控制权。