我看了一段视频,发现程序员使用* {}
设置边距和填充,但使用html {}
设置字体颜色。我不明白他为什么要麻烦使用html {}
设置字体颜色?他本可以使用* {}
设置所有这些东西。
*
通配符规则本质上说此样式适用于所有元素。通常不建议使用它,因为这会影响性能。我怀疑作者对元素具有默认边界或填充的讨厌之处,并因此而使土壤盐溶。
我建议使用真实的CSS重置或规范化代码段,例如https://dev.to/hankchizljaw/a-modern-css-reset-6p3
color
和margin
/ padding
在上下文中的区别在于,默认情况下color
是从元素的父级继承的,而margin
/ padding
则不是。
因此,如果我们设置* { color: green; }
,则必须编写另一个规则,例如p { color: inherit; }
才能使继承行为恢复。