*{
margin: 0;
padding: 0;
}
和
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,
form,fieldset,legend,input,button,textarea,blockquote,th,td,p...{
margin:0;padding:0
}
第一个很简单,我喜欢它。但是为什么许多大型网站都使用第二种方法
答案 0 :(得分:2)
universal selector (*
)选择页面上的所有元素。这很好,但是这个选择器最终会不必要地定位那些默认情况下不应该没有边距或填充的元素。
定位特定元素更具逻辑性,因为稍后您不必重写此CSS。例如,如果您希望文档中的所有li
元素实例同时具有边距和填充,则不希望将其包含在选择器列表中;同样,您不希望将此作为*
的目标,因为它会为您的页面呈现所需的时间添加(尽管数量非常小)。
现在很多网站实际上都使用Normalize.css(direct link to stylesheet)来重置CSS:
Normalize.css是一个可自定义的CSS文件,它使浏览器更加一致地呈现所有元素并符合现代标准。
答案 1 :(得分:0)
第一个不会使您的调试工具混乱(如Firebug),但第二个更可自定义,因为您可以选择未重置的元素。通常CSS reset个文件不会重置input
,select
或button
等元素,并使用第二种形式。
答案 2 :(得分:0)
你应该使用SECOND ONE
因为这是 最好的 逻辑上正确 有时我们需要使用HTML元素的默认属性。