在Next.js中使用Material-UI时,我试图向我的theme.js添加不同的字体。
我已经尝试使用这里建议的fontfaceobserver(https://github.com/zeit/next.js/issues/512),但是无法更新主题。
const theme = createMuiTheme({
typography: {
fontFamily: [
'Raleway','Roboto Condensed',
].join(','),
fontWeight: 700,
h1:{
fontFamily: 'Raleway',
fontWeight: 700,
}
},
});
我的h1字体没有改变:(
5条答案
按热度按时间jhdbpxl91#
如果要将自托管字体添加到next.js项目
将您的-font.ttf复制到public/fonts文件夹
创建一个新的css文件,例如your-font.css(在public/fonts/中),并添加以下代码:
转到第/_document. js页并将此行添加到
<Head>
标记内为材质ui创建一个theme.js文件,并将字体添加到Typography:
转到pages/_app. js并添加您的主题,例如:
e0uiprwp2#
不管是谁,答案实际上就在我使用的Material-ui和Next.js示例项目中:
https://github.com/mui-org/material-ui/blob/master/examples/nextjs/pages/_document.js
你可以看到google字体是如何导入的:
5anewei63#
你的theme.js文件做得很好,所以你的下一步应该是创建一个Layout组件或者使用你的**_app.js**文件来提供你的自定义主题。
布局组件中。
import { ThemeProvider } from "@material-ui/core";
有关详细信息https://material-ui.com/customization/typography/
2hh7jdfx4#
基于这个tutorial
全局.css
在MUI中使用字体
使用与您之前在CSS中使用的字体相同的名称:
6jjcrrmo5#
Nextjs 13中的任何人都可以对本地字体执行此操作(对Google字体也是如此):
输入
theme.config.tsx