【问题标题】:Difference between html and * when setting color or fonts for the whole page [duplicate]为整个页面设置颜色或字体时html和*之间的区别[重复]
【发布时间】:2020-01-12 00:35:23
【问题描述】:

我看了一个视频,发现程序员使用* {}设置margin和padding,但是使用html {}设置字体颜色。我不明白他为什么要费心使用html {} 来设置字体颜色?他本可以使用* {} 设置所有这些东西。

【问题讨论】:

    标签: css css-selectors


    【解决方案1】:

    * 通配符规则本质上说这种风格适用于所有元素。通常不鼓励使用它,因为这会影响性能。我怀疑作者非常讨厌具有默认边距或填充的元素,因此只会给地球撒盐。

    我建议使用真正的 CSS 重置或规范化 sn-p,例如 https://dev.to/hankchizljaw/a-modern-css-reset-6p3

    color 和 margin/padding 在此上下文中的区别在于 color 默认继承自元素的父元素,而 margin/padding 没有。

    因此,如果我们设置* { color: green; },我们必须编写另一个类似p { color: inherit; } 的规则来恢复该继承行为。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-27
      • 2016-04-02
      • 1970-01-01
      • 2012-02-13
      • 2014-11-21
      • 1970-01-01
      • 2012-02-23
      • 1970-01-01
      相关资源
      最近更新 更多