티스토리 뷰
728x90
Tailwind에서 구글 폰트를 tailwind css으로 사용하면 편리하다.
이전 포스팅에서 Next Js에서 구글 폰트 사용하는 걸 올렸는데, 이해할 것도 없지만, 거기서 시작하면 이해하기 더 쉽다.
NextJs 구글 폰트 사용하기 (tistory.com)
1. fonts.js 파일에 import 할 폰트를 import 한다. 여기에 variable을 정의한다. 이 변수는 tailwind 설정에 사용한다.
// app/fonts.js
import { Noto_Sans_KR } from 'next/font/google'
export const notosanskr = Noto_Sans_KR({
subsets: ['latin'],
variable: '--font-notosanskr'
})
2. RootLayout 파일에 자바 스크립트 문법으로 html 테그에 해당 폰트 변수를 지정한다.
2-1 하나 이상의 폰트를 연결하고 싶으면 ${} 문법으로 추가하면 된다.
import React from 'react'
import './globals.css'
import Navbar from "../components/Navbar"
import { notosanskr } from "./fonts"
function RootLayout({ children, }) {
return (
<html lang="en" className={`${notosanskr.variable}`}>
<body>
<header>
<Navbar />
</header>
<main>
{children}
</main>
<footer>
Footer
</footer>
</body>
</html>
)
}
export default RootLayout
3. tailwind.config.js 에 연결한다. extends 안에 fontFamily 를 추가 한다. 여러 개 쓰고 싶으면 속성으로 더 추가하면 된다. 기본 폰트로 지정하고 싶으면 notosanskr 이름 대신 sans 같은 시스템 정의 객체 이름으로 변경하면 된다.
/** @type {import('tailwindcss').Config} */
module.exports = {
content: [
"./app/**/*.{js,ts,jsx,tsx,mdx}",
"./pages/**/*.{js,ts,jsx,tsx,mdx}",
"./components/**/*.{js,ts,jsx,tsx,mdx}",
// Or if using `src` directory:
"./src/**/*.{js,ts,jsx,tsx,mdx}",
],
theme: {
extend: {
fontFamily: {
notosanskr: ["var(--font-notosanskr)", "sans-serif"]
},
},
},
plugins: [
require('@tailwindcss/typography')
],
}
4. 지난 포스팅에서 자바 스크립트 문법으로 정의한 부분을 제거 하고 그냥 css를 지정하면 된다.
4-1 css 이름은 변수 이름이다. 위에서는 font-notosanskr 이 되겠다.
4-2 vscode를 쓰면 intellisense에도 등록되어 있는 것을 확인할 수 있다.
// component/heading.jsx
import { notosanskr } from "../app/fonts"
import React from 'react'
function Heading({ children }) {
return (
// <h1 className={`py-3 ${notosanskr.className}`}>
<h1 className='py-3 font-notosanskr'>
{children}
</h1>
)
}
export default Heading
728x90
댓글
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
- 도커 개발환경 참고
- AWS ARN 구조
- Immuability에 관한 설명
- 자바스크립트 멀티 비동기 함수 호출 참고
- WSDL 참고
- SOAP 컨슈머 참고
- MySql dump 사용법
- AWS Lambda with Addon
- NFC 드라이버 linux 설치
- electron IPC
- mifare classic 강의
- go module 관련 상세한 정보
- C 메모리 찍어보기
- C++ Addon 마이그레이션
- JAX WS Header 관련 stackoverflow
- SOAP Custom Header 설정 참고
- SOAP Custom Header
- SOAP BindingProvider
- dispatcher 사용하여 설정
- vagrant kvm으로 사용하기
- git fork, pull request to the …
- vagrant libvirt bridge network
- python, js의 async, await의 차이
- go JSON struct 생성
- Netflix Kinesis 활용 분석
- docker credential problem
- private subnet에서 outbound IP 확…
- 안드로이드 coroutine
- kotlin with, apply, also 등
- 안드로이드 초기로딩이 안되는 경우
- navigation 데이터 보내기
- 레이스 컨디션 navController
- raylib
TAG
- crud
- jsp
- 매핑
- 스프링
- Many-To-Many
- spring boot
- one-to-one
- Spring Security
- RestTemplate
- 설정
- 로그인
- hibernate
- 상속
- Angular
- XML
- MYSQL
- Security
- WebMvc
- one-to-many
- Rest
- Spring
- 스프링부트
- 하이버네이트
- 외부파일
- 자바
- form
- login
- mapping
- Validation
- 설정하기
250x250