【发布时间】:2020-01-12 00:35:23
【问题描述】:
我看了一个视频,发现程序员使用* {}设置margin和padding,但是使用html {}设置字体颜色。我不明白他为什么要费心使用html {} 来设置字体颜色?他本可以使用* {}
设置所有这些东西。
【问题讨论】:
标签: css css-selectors
我看了一个视频,发现程序员使用* {}设置margin和padding,但是使用html {}设置字体颜色。我不明白他为什么要费心使用html {} 来设置字体颜色?他本可以使用* {}
设置所有这些东西。
【问题讨论】:
标签: css css-selectors
* 通配符规则本质上说这种风格适用于所有元素。通常不鼓励使用它,因为这会影响性能。我怀疑作者非常讨厌具有默认边距或填充的元素,因此只会给地球撒盐。
我建议使用真正的 CSS 重置或规范化 sn-p,例如 https://dev.to/hankchizljaw/a-modern-css-reset-6p3
color 和 margin/padding 在此上下文中的区别在于 color 默认继承自元素的父元素,而 margin/padding 没有。
因此,如果我们设置* { color: green; },我们必须编写另一个类似p { color: inherit; } 的规则来恢复该继承行为。
【讨论】: