代码之家  ›  专栏  ›  技术社区  ›  Ava

*,html选择器是否多余?

  •  -1
  • Ava  · 技术社区  · 12 年前

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

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

    但我本以为那是多余的,因为 * 匹配所有元素。我是不是错过了什么?

    1 回复  |  直到 12 年前
        1
  •  4
  •   Matthew Cox    12 年前

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

    然而 * 将匹配 html格式 标签

    你可以阅读更多关于 CSS Specificity 在这里

    编辑:

    示例案例用法:

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

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

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

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

    然后你的 html格式 将不受影响,因为 * 对启动器没有特殊性,这意味着该规则被以前的css规则推翻。

    我在 body 标签来演示概念- http://jsfiddle.net/M89Tn/1/