Next.js 如何使用本地自定义字体

本地字体

使用本地字体文件十分简单,只需要指定好字体文件的加载路径,然后通过 className 设置给需要自定义字体的元素即可。

app/layout.tsx

tsx 复制代码
import localFont from 'next/font/local'
 
// Font files can be colocated inside of `app`
const myFont = localFont({
  src: './my-font.woff2',
})
 
export default function RootLayout({
  children,
}: {
  children: React.ReactNode
}) {
  return (
    <html lang="en" className={myFont.className}>
      <body>{children}</body>
    </html>
  )
}

结合 Tailwind CSS

首先加载自定义字体文件,并且通过 variable 属性指定 CSS variable

app/layout.tsx

tsx 复制代码
export const myFont = localFont({
  src: './my-font.woff2',
  variable: '--font-my',
});

export default function RootLayout({
  children,
}: {
  children: React.ReactNode;
}) {
  return (
    <html
      lang="en"
      className={cn(
        myFont.variable,
      )}
    >
      <body>
       {children}
      </body>
    </html>
  );
}

然后在 Tailwind 配置中配置扩展自定义字体

tailwind.config.js

js 复制代码
/** @type {import('tailwindcss').Config} */
module.exports = {
  theme: {
    extend: {
      fontFamily: {
        my: ['var(--font-my)'],
      },
    },
  },
}

在需要使用该自定义字体的地方都可以通过 className="font-my" 使用

参考链接

相关推荐
励志成为大佬的小杨30 分钟前
c语言中的枚举类型
java·c语言·前端
前端熊猫1 小时前
Element Plus 日期时间选择器大于当天时间置灰
前端·javascript·vue.js
傻小胖1 小时前
React 组件通信完整指南 以及 自定义事件发布订阅系统
前端·javascript·react.js
JaxNext1 小时前
开发 AI 应用的无敌配方,半小时手搓学英语利器
前端·javascript·aigc
万亿少女的梦1681 小时前
高校网络安全存在的问题与对策研究
java·开发语言·前端·网络·数据库·python
Python私教2 小时前
Vue3中的`ref`与`reactive`:定义、区别、适用场景及总结
前端·javascript·vue.js
CQU_JIAKE2 小时前
12.12【java exp4】react table全局搜索tailwindcss 布局 (Layout) css美化 3. (rowId: number
前端·javascript·react.js
有机会一起睡觉2 小时前
前端:最新 react 原理 对比 面试题!!! 2025
react.js·面试
m0_748236583 小时前
Django 后端数据传给前端
前端·数据库·django
余生H3 小时前
前端Python应用指南(五)用FastAPI快速构建高性能API
前端·python·fastapi