*,html选择器是多余的吗?

时间:2012-08-02 22:59:12

标签: css css-selectors wildcard

我经常看到Web开发人员使用以下内容:

*, html {
    margin: 0;
    padding:0;
}

但我认为这将是多余的,因为*匹配所有元素。我在这里错过了什么吗?

1 个答案:

答案 0 :(得分:4)

如果您需要更具体的特性来保护html选择器上的覆盖默认样式(例如在更改字体样式的情况下),那么这并不是多余的。

但是,*会匹配html代码。

您可以在此处详细了解CSS Specificity

修改

案例用法示例:

如果您在每个页面上都包含一组默认样式,则覆盖包含以下内容的浏览器默认值:

*,html {
   margin: 0;
   padding: 0;
}

然后一个不同的css文件恰好具有相同的选择器用于不同的情况:

* {
   margin: 10px;
   padding: 0;
}

然后您的html将不受影响,因为*对初学者没有特异性,这意味着规则被之前的css规则推翻。

我添加了一个字体更改示例,在body标记上执行此操作以演示概念 - http://jsfiddle.net/M89Tn/1/