[tailwind] tailwind 커스텀 폰트 사이즈, 컬러 덮여쓰여지는 문제.. feat. twMerge

2025. 2. 20. 16:35·삽질 로그

현재 진행하는 프로젝트에서는 custom fontsize랑 custom color를 사용하고 있는데,

twMerge에서 계속 색이 입혀지면 글자크기가 안입혀지는 문제가 나타났다.

 

이 문제는 chatgpt도 해결 못해주었다^^

Stack Overflow가 아직 살아있음에 매우 감사하다.

https://stackoverflow.com/questions/78185697/why-custom-tailwind-font-size-is-overwritten-by-text-colour-class

ㄴ 여기 답변에 의해 답을 얻었다.

 

이게 twMerge가 제대로 custom color, fontsize를 제대로 구분못하고 병합하는 문제 때문인데, 

twMerge는 뒤에 나오는 class를 더 우선순위를 둔다.

 

tailwind에서 text색깔을 변경하려면 text-slate500, 

text사이즈를 변경하려면 text-13R 이런식인데,

원래는 둘이 의미하는 바가 다르므로 둘 다 적용해야하는데,

아마 둘다 text-커스텀문구 여서 제대로 구분을 못하고 뒤에 나온 클래스로 덮어쓰는 것같다.

 

방법은 extendTailwindMerge함수를 사용하여 font-size, text-color의 클래스 이름을 명시해주는 것이다.

import clsx, { ClassValue } from 'clsx';
import { extendTailwindMerge } from 'tailwind-merge';
import fontSize from '@/presets/fontSize';
import colors from '@/presets/colors';

const customTwMerge = extendTailwindMerge({
  extend: {
    classGroups: {
      'font-size': [...Object.keys(fontSize).map((e) => `text-${e}`)],
      'text-color': [...Object.keys(colors).map((e) => `text-${e}`)],
    },
  },
});

const cn = (...input: ClassValue[]) => customTwMerge(clsx(input));

export default cn;

 

이랬더니 아주 잘 구분해서 폰트 색깔, 사이즈 모두 적용되었다. !! ^_^

 

참고로 fontSize, colors는 따로 파일 빼서 tailwind.config에 적용했다.

'삽질 로그' 카테고리의 다른 글

[Tanstack Query] onMutate를 통해 낙관적 업데이트를 적용했는데도 데이터 깜빡거림이 존재할 때  (0) 2025.03.27
[tailwind] 동적 스타일링이 적용 안될 때  (0) 2025.03.10
[tailwind] tailwind.config.ts에 객체 import 하기  (0) 2025.02.19
NextJs14 : client와 server에서 api 상대 경로 요청  (2) 2025.01.27
[.env] react .env 파일이 적용 안될 때  (0) 2024.05.15
'삽질 로그' 카테고리의 다른 글
  • [Tanstack Query] onMutate를 통해 낙관적 업데이트를 적용했는데도 데이터 깜빡거림이 존재할 때
  • [tailwind] 동적 스타일링이 적용 안될 때
  • [tailwind] tailwind.config.ts에 객체 import 하기
  • NextJs14 : client와 server에서 api 상대 경로 요청
밍끼c
밍끼c
성장하는 웹 프론트엔드 개발자
  • 밍끼c
    밍끼개발일기
    밍끼c
  • 전체
    오늘
    어제
    • 분류 전체보기 (36)
      • 프로젝트 (15)
        • 선행 커뮤니티 웹앱 프로젝트 (5)
        • 여행 동행 웹앱 프로젝트 (9)
        • 투두 웹앱 프로젝트 (1)
      • 삽질 로그 (8)
      • 코딩테스트 (10)
      • 후기 (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    nginx
    TypeScript
    server side fetching
    softeer
    react
    pm2
    react-oauth
    CI/CD
    ParametricSearch
    vanillaextract
    DP
    pnpm
    level3
    JavaScript
    gooleoauth2
    inline-flex
    googlelogin
    Nextjs14
    react-calendar
    프로그래머스
    코딩테스트
    goodplassu
    vanilla-extract
    level2
    zustand
    GithubActions
    route handler
    globaltheme
    tripmingle
    globalfontface
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
밍끼c
[tailwind] tailwind 커스텀 폰트 사이즈, 컬러 덮여쓰여지는 문제.. feat. twMerge
상단으로

티스토리툴바