顺风失败时设置默认字体?
setting default font when tailwind fails?
如果我将通用选择器与 tailwind 结合使用,并非所有元素都使用默认值。我希望一切都默认为 Impact(以防 tailwind 不 load/work)。为了对此进行测试,我删除了 @font-face 规则并刷新显示影响字体。它似乎适用于大多数元素,但不适用于下面的 div 元素。下面的div还是默认的宋体?这是因为我在 div 的 class 中设置了 font-NormsMedium 吗? 那么,如果 tailwind 没有 load/work,我该如何正确更改我的默认字体?另外,我正在使用 svelte 框架。
更新:当我从 div class 中删除 font-NormsMedium 时,它默认为 impact,这正是我想要的,但是为什么当它没有从 div class?
INDEX.HTML
<style lang="postcss">
* {
font-family: Impact, sans-serif;
}
@font-face {
font-display: block;
font-family: NormsMedium;
src: url(path...)
format('woff2'),
url(path...)
format('woff');
font-weight: 400;
font-style: normal;
}
TAILWIND.CONFIG
module.exports = {
theme: {
extend: {
fontFamily: {
NormsBold: 'NormsBold',
NormsMedium: 'NormsMedium',
NormsRegular: 'NormsRegular',
},
},
}
元素不会默认影响
<div class="mt-1 mb-2 text-lg text-left font-NormsMedium line-clamp-2 ">90s Hair Now with Calista</div>
如果 Tailwind 失败,“影响”将是默认设置。您添加到标记中的 Tailwind 类 不会有任何效果。然而,您所描述的情况是不同的:您所看到的是字体加载失败的结果。
Tailwind 正在应用您的 font-family 规则,覆盖“影响”,但指定的字体不可用,因此它使用后备。字体堆栈允许您确定回退应该是什么。
如果您希望在您的主要字体未加载时一切都默认为“影响”,请将其添加到您的字体堆栈。
fontFamily: {
NormsBold: ['NormsBold', 'Impact', 'sans-serif'],
NormsMedium: ['NormsMedium', 'Impact', 'sans-serif'],
NormsRegular: ['NormsRegular', 'Impact', 'sans-serif'],
}
还值得正确设置 font-face
规则,以便它们都是一个字体系列,权重按预期工作。
示例:
@font-face {
font-display: swap;
font-family: 'Norms';
font-style: normal;
font-weight: 500;
src: url(path TO MEDIUM...)
format('woff2'),
url(path...)
format('woff');
}
@font-face {
font-display: swap;
font-family: 'Norms';
font-style: normal;
font-weight: 700;
src: url(path TO BOLD...)
format('woff2'),
url(path...)
format('woff');
}
/** Add as many variations as required */
配置:
fontFamily: {
Norms: ['Norms', 'Impact', 'sans-serif'],
}
如果我将通用选择器与 tailwind 结合使用,并非所有元素都使用默认值。我希望一切都默认为 Impact(以防 tailwind 不 load/work)。为了对此进行测试,我删除了 @font-face 规则并刷新显示影响字体。它似乎适用于大多数元素,但不适用于下面的 div 元素。下面的div还是默认的宋体?这是因为我在 div 的 class 中设置了 font-NormsMedium 吗? 那么,如果 tailwind 没有 load/work,我该如何正确更改我的默认字体?另外,我正在使用 svelte 框架。
更新:当我从 div class 中删除 font-NormsMedium 时,它默认为 impact,这正是我想要的,但是为什么当它没有从 div class?
INDEX.HTML
<style lang="postcss">
* {
font-family: Impact, sans-serif;
}
@font-face {
font-display: block;
font-family: NormsMedium;
src: url(path...)
format('woff2'),
url(path...)
format('woff');
font-weight: 400;
font-style: normal;
}
TAILWIND.CONFIG
module.exports = {
theme: {
extend: {
fontFamily: {
NormsBold: 'NormsBold',
NormsMedium: 'NormsMedium',
NormsRegular: 'NormsRegular',
},
},
}
元素不会默认影响
<div class="mt-1 mb-2 text-lg text-left font-NormsMedium line-clamp-2 ">90s Hair Now with Calista</div>
如果 Tailwind 失败,“影响”将是默认设置。您添加到标记中的 Tailwind 类 不会有任何效果。然而,您所描述的情况是不同的:您所看到的是字体加载失败的结果。
Tailwind 正在应用您的 font-family 规则,覆盖“影响”,但指定的字体不可用,因此它使用后备。字体堆栈允许您确定回退应该是什么。
如果您希望在您的主要字体未加载时一切都默认为“影响”,请将其添加到您的字体堆栈。
fontFamily: {
NormsBold: ['NormsBold', 'Impact', 'sans-serif'],
NormsMedium: ['NormsMedium', 'Impact', 'sans-serif'],
NormsRegular: ['NormsRegular', 'Impact', 'sans-serif'],
}
还值得正确设置 font-face
规则,以便它们都是一个字体系列,权重按预期工作。
示例:
@font-face {
font-display: swap;
font-family: 'Norms';
font-style: normal;
font-weight: 500;
src: url(path TO MEDIUM...)
format('woff2'),
url(path...)
format('woff');
}
@font-face {
font-display: swap;
font-family: 'Norms';
font-style: normal;
font-weight: 700;
src: url(path TO BOLD...)
format('woff2'),
url(path...)
format('woff');
}
/** Add as many variations as required */
配置:
fontFamily: {
Norms: ['Norms', 'Impact', 'sans-serif'],
}