*{
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
}
第一种很简单,我喜欢。但是为什么很多大网站都用第二种方法
通用选择器 ( *
)选择页面上的所有元素。这很好,但是这个选择器最终会不必要地定位默认情况下实际上不应该没有边距或填充的元素。
定位特定元素更合乎逻辑,因为您以后不必重写此 CSS。例如,如果您希望li
文档中的所有元素实例同时具有边距和内边距,那么您不希望将其包含在选择器列表中;同样,您也不希望它成为目标,*
因为它会增加(尽管数量非常少)到您的页面呈现所需的时间。
现在很多网站实际上使用Normalize.css(直接链接到样式表)来重置 CSS:
Normalize.css 是一个可自定义的 CSS 文件,它使浏览器能够更一致地呈现所有元素并符合现代标准。
第一个不会弄乱您的调试工具(如 Firebug),但第二个更可定制,因为您可以选择不重置的元素。通常CSS 重置文件不会重置元素,如input
,select
或button
并使用第二种形式。
你应该使用第二个
因为这在逻辑上是最好的,有时我们需要使用 HTML 元素的默认属性。