有没有更好的替代使用CSS重置?

时间:2010-08-26 20:15:52

标签: css css-selectors

我一直在尝试构建一个网站,而我正在使用CSS Reset Stylesheet来帮助实现跨浏览器的兼容性。但是,现在我正在查看Firebug中的结果,看起来所有CSS Resets所做的事情都花费了大量浪费时间遍历DOM。例如,一行简单的代码如:

<div><span><p>...</p></span></div>

将从p, span, div, body, and html继承一堆浪费的样式,这些样式可能会被类或id覆盖。对于我能想到的许多场景,来自body {}的简单继承就足够了。这对我来说似乎效率低下。

我真正的问题是,如果我只是设置:

,那会更好吗?
* {margin:0; padding:0; border:0;} and maybe body {font-size:62.5%}

或者该代码同样效率低下?此时,这两个CSS规则似乎是重置样式表中唯一有用的部分。

7 个答案:

答案 0 :(得分:3)

无论如何,Css是没有效率的,它建立在计算机速度足够快的假设之上(这是css的真理),所以不要担心你的css是有效的。

相反,做任何你觉得更具可读性的事情,但想想其他人也可以在以后接管你的项目。

答案 1 :(得分:2)

请勿使用通用选择器进行CSS重置。我很难学到这一点,但是当你这样做时,将按钮和输入元素以及类似的东西看作普通/原生是不可能的。

实际上,这不是不可能的,只是不可能。

使用由其他人看来他们知道自己在做什么的css重置会更好:http://meyerweb.com/eric/thoughts/2007/05/01/reset-reloaded/(也就是说这是最常用的css重置脚本之一有)

答案 2 :(得分:1)

“无论如何都可能被类或id覆盖”

这就是意图。重置是“清零”所有样式,因此您可以通过覆盖它们来自行声明所有内容。

至于你的另一个问题,是的,我倾向于同意。通用选择器应该是您所需要的,并且如果您要进行相当基本的重置,则将所有“归零”样式放在其中。

但是,埃里克迈耶的重置并不算太大:

http://meyerweb.com/eric/tools/css/reset/

答案 3 :(得分:1)

引用Eric Meyers关于他的Reset style sheet

  

这就是重点:那   这不是“每个人都必须   以某种方式使用这些样式   没有改变“。我也不是说   每个人都必须使用它们或者是   投入黑暗。记得以前   我称之为“我对此的看法”   重置样式的主题“(重点   添加)。你的看法可能是微妙的或   大不一样。把它们想象成一个   创建自己的起点   默认值,除了是一种方式   阐明浏览器的本质   默认值。只是采取行动   那些默认值和   仔细考虑他们会让你感到高兴   超过99%的同行。我真这么觉得   重置样式非常有用;   否则,我不会写   关于他们在这里,当然不是   我的程度。我的希望是   人们会将它们用作发射   垫为自己的重置和   更深入地思考造型和   浏览器。

如果您发现更简单的重置样式表最适合您,那么我真的不能不同意您的看法。我认为你已经确定了布局目的真正重要的部分,如果这就是你要找的东西,你就不必再推它了。

答案 4 :(得分:1)

我发现用于替换重置CSS的基本CSS。 Base CSS如果使所有浏览器都相同但不是只删除你稍后需要放回的所有样式。

此处说明:http://blog.teamtreehouse.com/setting-rather-than-resetting-default-styling

CSS基础:http://tjkdesign.com/ez-css/css/base.css

它就像使用Nicolas Gallagher的Normalize.css但更简单易用

答案 5 :(得分:0)

当然,通用选择器的性能并不比其他多选择器好。您可以对其进行测试here并阅读相关内容here

那就是说我认为css的表现并不是一个问题,因为你正在处理一个特别庞大的dom。

答案 6 :(得分:0)

使用Nicolas Gallagher的Normalize.css - http://necolas.github.com/normalize.css/