본문 바로가기
Q&A해결2026년 4월 5일1분 읽기

Tailwind CSS v4에서 @apply가 동작하지 않습니다

프
프론트수진
조회 414댓글 4

Tailwind CSS v4로 업그레이드했는데 기존에 잘 쓰던 @apply가 전혀 동작하지 않습니다.

.btn {
  @apply px-4 py-2 bg-blue-500 text-white rounded;
}

위 코드가 v3에서는 잘 됐는데, v4에서는 아무 스타일도 적용되지 않고 빌드 에러도 없습니다. postcss.config.js도 그대로인데 뭐가 달라진 건가요?

댓글 4

김김영삼6개월 전

Tailwind CSS v4는 설정 방식이 완전히 바뀌었습니다.

v3까지는 tailwind.config.js + PostCSS 플러그인 방식이었지만, v4부터는 CSS-first 설정으로 전환되었습니다.

핵심 변경점
/* v4에서는 CSS 파일 최상단에 이렇게 선언 */
@import "tailwindcss";

/* @apply는 여전히 동작하지만, 위 import가 필요합니다 */
.btn {
@apply px-4 py-2 bg-blue-500 text-white rounded;
}
확인할 것
  1. tailwind.config.js 대신 CSS 파일에서 @import "tailwindcss" 사용
  2. postcss.config.js에서 @tailwindcss/postcss 플러그인으로 교체
// postcss.config.js (v4)
module.exports = {
plugins: {
"@tailwindcss/postcss": {}
}
}

기존 tailwindcss 플러그인이 아니라 @tailwindcss/postcss를 써야 합니다.

프프론트수진6개월 전
postcss 플러그인이 문제였네요! @tailwindcss/postcss로 바꾸니까 바로 됩니다. 그런데 기존 tailwind.config.js에 있던 커스텀 색상 설정은 어떻게 옮기나요?
김김영삼6개월 전

v4에서는 CSS 변수로 커스텀 테마를 설정합니다:

@import "tailwindcss";

@theme {
--color-primary: #6ea8fe;
--color-bg: #15171b;
--font-display: "GMarketSans", sans-serif;
}

기존 tailwind.config.js의 theme.extend 내용을 @theme 블록으로 옮기면 됩니다. 공식 마이그레이션 가이드가 잘 되어 있으니 참고하세요.

프프론트수진6개월 전
@theme 블록 깔끔하네요! 완벽하게 마이그레이션했습니다. 정말 감사합니다 🙏
Ctrl+Enter로 등록