这些CSS重置方法之间的区别

时间:2013-09-14 19:45:31

标签: html css css3

我想知道这两种方法之间是否有任何区别。

body,ul,li,p,h1,h2,h3,h4,h5{padding:0; margin:0; list-style-type:none;}

body,ul,p,h1,h2,h3,h4,h5{padding:0; margin:0;}
li{list-style-type:none;}

无需使用全局选择器* 这里真正的问题是,我在第一个示例中提到了list-style-type:none;,即使此属性适用于li标记。但是,我发现自己需要对所有元素进行分组并给它们赋予价值,即使某些值不适用于某些元素。

那么,除了清晰度问题之外,是否存在消极方面?

2 个答案:

答案 0 :(得分:2)

我会选择第二次重置..虽然我总是使用Eric Meyers ..

第一次重置将padding:0; margin:0; list-style-type:none;应用于所有标签。这实际上是多余的,因为list-style-type:noneh1h2等完全没有影响。为什么在它对这些元素没有影响时应用它?不。

list-style-type:none仅对<ul><li>产生影响,因此它只应用于那些,如第二个示例所示。

在这两个选项中,请使用以下内容:

body,ul,li,p,h1,h2,h3,h4,h5{padding:0; margin:0;}
ul,li{list-style-type:none;}

答案 1 :(得分:2)

不同之处在于第二组规则没有在li元素上设置边距和填充。

关于在list-style-type以外的元素上设置li的问题,这不是错误,也不会导致问题。但是,它可能会产生影响,因为这些元素仍然具有属性,并且它们的子代可以继承它。例如,如果另一个样式表设置为h2 { display: list-item },那么list-style-type的{​​{1}}值是多少就很重要。