gpt4 book ai didi

css - 将字体堆栈从 SCSS 迁移到 JSS (cssinjs)

转载 作者:行者123 更新时间:2023-12-04 15:42:53 26 4
gpt4 key购买 nike

为了各种目的,我们使用了大量不同粗细的自定义字体。现在我们的整个堆栈都在使用带有 JSS 主题和样式的 Material UI,我们想摆脱最后几个 .scss我们的文件夹架构中的文件。

到目前为止,所有字体都与 SCSS 语法完美配合。

我们有一个 index.scss在应用程序的主入口点导入的文件。它只有一行:

@import 'styles/fonts';

styles/_fonts.scss包含很多字体:

@font-face {
font-family: 'FooFont';
src: url('styles/fonts/FooFont_LtIt.ttf') format('truetype');
font-weight: 200;
font-style: normal;
}

还有 styles/fonts文件夹中包含所有字体文件。

我已经成功附加了全局的Material UI makeStyles head 的样式.这允许我注入(inject)全局 CSS 而不是基于组件的 JSS:

'@global': {
'@font-face': [
{
fontFamily: 'FooFont',
src: 'url("styles/fonts/FooFont_Rg.ttf") format("truetype")',
fontWeight: 400,
fontStyle: 'normal',
}
],
'*': {
boxSizing: 'border-box',
},
html: {
height: '100%',
},
...

此语法添加了一个 <style> <head> 底部的标签并应用样式。这适用于非字体样式。

主要问题:出于某种原因,它不会更新我的字体堆栈。字体已下载,但页面元素仍使用后备字体。

我也试过直接使用 JSS 并在 <head> 的顶部注入(inject) CSS .没有运气。手动将字体写入 <style>头部顶部的标签下载字体(我可以看到它们出现在“网络”选项卡中)但页面元素更新并仍然使用后备字体。

最佳答案

您可以在 index.html 中的内联样式标签中添加字体吗?

这样它们将立即加载并可供您的其他代码使用。

我经常在 JS 中使用 CSS,但总是在我的根索引文件中加载字体。

所以只需在您的 index.html 中执行此操作即可

<head>
<style type="text/css">
@font-face {
font-family: 'FooFont';
src: url('styles/fonts/FooFont_LtIt.ttf') format('truetype');
font-weight: 200;
font-style: normal;
}
</style>
</head>

然后您可以随意管理所有其他样式

关于css - 将字体堆栈从 SCSS 迁移到 JSS (cssinjs),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57113862/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com