-1

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

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

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

4

1 回答 1

4

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

但是,*将匹配一个html标签。

您可以在此处阅读有关CSS 特异性的更多信息。

编辑:

案例用法示例:

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

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

然后稍后一个不同的 css 文件碰巧在不同的情况下具有相同的选择器:

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

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

我在body标签上添加了一个字体更改示例来演示这个概念 - http://jsfiddle.net/M89Tn/1/

于 2012-08-02T23:01:02.833 回答