You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Chakra UI字体异常:配置M PLUS Rounded 1c后未生效

解决Chakra UI配置M PLUS Rounded 1c字体不生效的问题

问题核心是仅在Chakra主题中指定字体名称,但未实际加载字体文件,浏览器找不到对应字体时会回退到系统默认字体(比如Times New Roman)。按以下步骤修复:

1. 引入字体文件

你需要先加载M PLUS Rounded 1c字体文件,推荐用Google Fonts的CDN方式:

方式一:在_app.js中添加link标签

修改你的_app.js,在ChakraProvider外部引入字体:

import Layout from "./layout";
import { ChakraProvider } from "@chakra-ui/react";
import "@/styles/globals.css";
import theme from "./theme";

export default function App({ Component, pageProps }) {
  return (
    <>
      <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@300;400;500;700&display=swap" />
      <ChakraProvider theme={theme}>
        <Layout>
          <Component {...pageProps} />
        </Layout>
      </ChakraProvider>
    </>
  );
}

方式二:在globals.css中用@import引入

打开globals.css,添加:

@import url('https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@300;400;500;700&display=swap');

2. 完善主题字体配置

给字体添加fallback选项(比如sans-serif),同时确保字体名称和引入的一致:

import { extendTheme } from "@chakra-ui/react";

const theme = extendTheme({
  fonts: {
    body: `'M PLUS Rounded 1c', sans-serif`,
  },
});

export default theme;

3. 排查样式冲突

检查globals.css或其他自定义样式中,是否直接给body设置了font-family,如果有需要删除或调整优先级,确保Chakra的样式能覆盖。

完成以上步骤后,浏览器就能正确加载并显示M PLUS Rounded 1c字体了。

内容的提问来源于stack exchange,提问作者Ky Ma

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 16:03:10