Импорт шрифта-лица на стилизованный компонент ReactJS - PullRequest
2 голосов
/ 07 апреля 2020

Я использую styled component для библиотеки css в моем приложении ReactJS. Я хочу @font-face, но не работает.

код на GlobalStyle.js

import {  createGlobalStyle } from 'styled-components';
import MaisonBook from '../assets/fonts/MaisonNeue-Book.ttf';


const GlobalStyle = createGlobalStyle`
  @font-face {
    font-family: Maison Nueue;
    src: url(${MaisonBook});
  }
  @font-face {
    font-family: Maison Nueue;
    src: url('../assets/fonts/MaisonNeue-Bold.ttf');
    font-weight: bold;
  }
`

export default GlobalStyle;

на index.js

....
ReactDOM.render(
  <React.StrictMode>
    <GlobalStyle/>
    <MainRouter />
  </React.StrictMode>,
  document.getElementById('root')
);
....

Ответы [ 2 ]

2 голосов
/ 07 апреля 2020

Название шрифта должно быть заключено в кавычки: font-family: 'Maison Nueue';

import {  createGlobalStyle } from 'styled-components';
import MaisonBook from '../assets/fonts/MaisonNeue-Book.ttf';

const GlobalStyle = createGlobalStyle`
  @font-face {
    font-family: 'Maison Nueue';
    src: url(${MaisonBook});
  }
  h1 {
     font-family: 'Maison Nueue';
  }
`

export default GlobalStyle;

и

....
ReactDOM.render(
  <React.StrictMode>
    <GlobalStyle/>
    <h1>Is it works?</h1>
    <MainRouter />
  </React.StrictMode>,
  document.getElementById('root')
);
....
0 голосов
/ 07 апреля 2020
@font-face {
 font-family: "MaisonNueue";
 src: url(${require('../assets/fonts/MaisonNeue-Book.otf')}) format("truetype");
}

@font-face {
 font-family: "MaisonNueueBold";
 src: url(${require('../assets/fonts/MaisonNeue-Bold.otf')}) format("truetype");
}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...