如何在没有通用选择器的情况下设置 global/default 字体系列?
How to set a global/default font-family without universal selectors?
我遇到了一个难题:stylelint rule "selector-max-universal": 0
是必需的,同时,我需要为某个 class.[=16= 内的文本元素提供默认字体系列]
因此我不能使用这个:
* { font-family: Somefont; }
同时,代码审查要求我不要使用这些选择器 (SCSS mixin):
@mixin setGlobalFontFamily($family: Somefont) {
button,
div,
h1,
h2,
h3,
h4,
h5,
h6,
label,
p {
font-family: $family, sans-serif;
}
}
// fonts are specific to certain classes
.theme-a {
@include setGlobalFontFamily;
}
.theme-b {
@include setGlobalFontFamily(Roboto);
}
//.theme-...
Theme classes 有条件地通过 JS 应用到容器元素,例如:
<body>
<section class="theme-b">
</section>
</body>
此外,这些字体系列应该在一个文件中全局设置,并且每个主题 只能设置一次 class,以保证不会显示其他主题字体系列。 .
谁能找到解决此问题的方法?
如果我没理解错的话,您可以直接将字体系列设置为 .theme-a 和 .theme-b 例如:
.theme-a {
font-family: 'Some Font', sans-serif;
}
.theme-b {
font-family: 'Roboto', sans-serif;
}
如果不覆盖这些元素的子元素,它们应该会自动继承字体。无需手动设置每个元素。
我遇到了一个难题:stylelint rule "selector-max-universal": 0
是必需的,同时,我需要为某个 class.[=16= 内的文本元素提供默认字体系列]
因此我不能使用这个:
* { font-family: Somefont; }
同时,代码审查要求我不要使用这些选择器 (SCSS mixin):
@mixin setGlobalFontFamily($family: Somefont) {
button,
div,
h1,
h2,
h3,
h4,
h5,
h6,
label,
p {
font-family: $family, sans-serif;
}
}
// fonts are specific to certain classes
.theme-a {
@include setGlobalFontFamily;
}
.theme-b {
@include setGlobalFontFamily(Roboto);
}
//.theme-...
Theme classes 有条件地通过 JS 应用到容器元素,例如:
<body>
<section class="theme-b">
</section>
</body>
此外,这些字体系列应该在一个文件中全局设置,并且每个主题 只能设置一次 class,以保证不会显示其他主题字体系列。 .
谁能找到解决此问题的方法?
如果我没理解错的话,您可以直接将字体系列设置为 .theme-a 和 .theme-b 例如:
.theme-a {
font-family: 'Some Font', sans-serif;
}
.theme-b {
font-family: 'Roboto', sans-serif;
}
如果不覆盖这些元素的子元素,它们应该会自动继承字体。无需手动设置每个元素。