CSS星号是一个好习惯吗

Tre*_*ild 0 css global-variables

我正在重新设计一个 Angular 应用程序,并且有一个 CSS 规则:

 * {
   font-family: Roboto, Arial, Helvetica, sans-serif;
   }
Run Code Online (Sandbox Code Playgroud)

我知道这基本上是将该字体应用于 DOM 中的每个元素。我很好奇这是否是一个好的做法,即使这是我们将使用的唯一字体。我要将字体移动到全局 SASS 变量中,并想知道我是否甚至需要为字体烦恼。

Dan*_*ixl 5

由于样式的级联特性,使用 就足够了body { font-family: Roboto, Arial, Helvetica, sans-serif; },因此每个子元素都继承了 font-family。这不会在选择器中创建定义的新实例。

Ì如果您使用通用选择器,* { font-family: Roboto, Arial, Helvetica, sans-serif; }它会为每个元素创建一个新选择器。

在浏览器中尝试不同之处,并在使用通用选择器时使用检查器检查每个元素。

你绝对应该继承。通用选择器会不必要地“污染”你的元素。

通用选择器的一个常见用例是为每个单个元素和伪元素分配一个替代框模型:

*,
*::before,
*::after {
  box-sizing: border-box; // 1
}
Run Code Online (Sandbox Code Playgroud)

  • 请注意,表单元素不会从“body”继承“font-family”。您必须为“button”、“input”、“textarea”显式声明字体系列... (2认同)