reactjs - 如何在material-ui主题中导入和使用自定义字体?

标签 reactjs material-design material-ui typography font-family

我正在尝试在 Material-UI 主题的 React 应用程序中导入并使用 Yellowtail 字体(来自 Google Fonts)。

据我所知,所有谷歌字体都在 npm 上,我已经安装了它,并使用

npm install typeface-yellowtail --save

命令。

我已经将它导入到App.js中,将其放入主题的font-family部分,将主题传递给MuiThemeProvider,但它不起作用。我错过了什么?

这就是我在 App.js 中的内容(标题包含一个带有一些网格的 AppBar,主体仅包含用于测试的 h1 文本)

import React, { Component, Fragment } from 'react';
import Header from './Components/Layouts/Header';
import AppBody from './Components/Layouts/AppBody';
import Footer from './Components/Layouts/Footer'; 
import { MuiThemeProvider, createMuiTheme } from '@material-ui/core';
import 'typeface-yellowtail';

const theme = createMuiTheme({  
  typography: {
    fontFamily: 
      '"Yellowtail", cursive',
  },
});

class App extends Component {
  render() {
    return (
      <MuiThemeProvider theme={theme}>
        <Header />
        <AppBody />
        <Footer />       
      </MuiThemeProvider>
    );
  }
}

export default App;

最佳答案

您可以先加载 CSS 文件,而不是通过 npm 安装。

@import url('https://fonts.googleapis.com/css?family=Yellowtail&display=swap');

导入此 CSS 文件

import './assets/css/yellowtail.css';

现在您不需要使用任何@font-face。这可以像普通字体一样使用。

关于reactjs - 如何在material-ui主题中导入和使用自定义字体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58145998/

相关文章:

javascript - 从我的 React 组件中的第三方组件实例调用操作

dart - Flutter 底板圆角半径

android - 通过滚动回收器 View 折叠标题图像

javascript - 将自定义 CSS 样式添加到 Material UI KeyboardDatePicker

reactjs - 将自定义组件添加到 Material-ui Select 中

node.js - 如何在中心生成 QR 码和图像?

testing - React Native 应用程序可以在浏览器中测试吗?

c# - 使用 Material Design 时更改 ListViewItem 背景颜色

reactjs - Material UI <Grid> 使用显示时不会隐藏

reactjs - React-Redux : Combining reducers fails