| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
- 유레카 부트캠프
- Do it! 자료구조와 함께 배우는 알고리즘 입문
- 알고리즘
- LG유플러스 유레카 3기 프론트엔드
- zod
- 프론트엔드 비대면반
- LG유플러스 유레카 프론트엔드 개발자
- 정렬
- LG유플러스 유레카 프론트엔드
- 웹시큐리티
- 부트캠프후기
- 2775번 문제
- 자바
- 시간 복잡도
- tanstack query
- 소수
- 프론트엔드
- 애자일
- 백준
- 스레드
- git branch 협업
- 별찍기10
- 멀티캠퍼스IT부트캠프티
- 코딩
- Java
- 재귀
- 브루트포스
- 프로세스
- 멀티캠퍼스IT부트캠프
- LG유플러스 유레카 부트캠프
- Today
- Total
개발 일기
20260203 Tailwind CSS 공부하기 본문

들어가며
저번 주 금요일 유레카에서 종합 프로젝트 발표가 끝나고 꿀같은 휴식을 취하면서 포트폴리오 웹사이트를 어떤 기술로 만들지에 대해 고민해봤다. 결과적으로 Next를 사용하기로 했고 그에 맞는 Tailwind Css와 biome 등을 사용해보기로 했다. 종합 프로젝트 때 biome을 사용했었는데 괜찮았다고 느껴서 개인적으로 한번 더 사용해보기로 했다. 또 팀원분이 구축해줬던 개발 셋팅에서 좋았던 환경들을 따라 적용해보고 있다. 본격적으로 코딩을 하기 전에 Tailwind Css를 공부해보고 다음 유레카에 있을 최종융합프로젝트에도 적용해봐야겠다.
Tailwind CSS란?

Tailwind CSS는 빠르게 커스텀 UI를 만들 수 있도록 도와주는 유틸리티 퍼스트 CSS 프레임워크이다. 여기서 유틸리티 퍼스트란, '하나의 CSS 속성만 담당하는 클래스'를 조합해서 UI를 구성하는 개발 방식을 의미한다.
Tailwind의 핵심 기념 3가지
① Utility-first
- p-4, text-sm, bg-gray-100 같은 작은 단위 클래스
- 하나의 클래스 = 하나의 역할
② 조합으로 스타일링
<div className="flex items-center justify-between gap-4">
- 레이아웃, 간격, 정렬을 말하듯이 읽을 수 있음
- 이 div는 flex고 가운데 정렬이고 간격은 4다
③ 디자인 토큰 기반
- spacing, color, font size가 미리 정해진 스케일
- 디자인이 자연스럽게 통일됨
p-1, p-2, p-4, p-8
text-sm, text-base, text-lg
다른 CSS 방식과 다른 점
1. 전통적인 CSS 방식


- 의미 기반 클래스 네이밍
- CSS 파일과 JSX 파일이 분리됨
- 스타일 재사용은 클래스 이름으로 해결
문제점
클래스 이름 짓기 어렵고 CSS가 커질수록 어디서 쓰는지 추적하기 힘들다. 또한 안 쓰는 CSS가 쌓이기 쉽다.
2. CSS Module 방식


- 스코프 충돌 문제를 해결함
- 여전히 스타일과 마크업 분리
- 컴포넌트 단위로 CSS 관리
문제점
파일 이동이 잦고 디자인 수정 시 생산성이 떨어진다. 공통 스타일 관리가 애매함 -> 안전하지만 느린 방식
3. Styled-components / CSS-in-JS

- JS 안에서 CSS 작성
- props 기반 동적 스타일링 가능
- 컴포넌트와 스타일이 강하게 결합
문제점
번들 사이즈 증가, 런타임 비용, 스타일 로직이 복잡해질 수 있음
런타임 비용의 경우 vanilla-extract에 제로런타임의 장점을 가진 방식으로 사용해본 적이 있다.
요약
| 항목 Plain CSS CSS Module CSS-in-JS Tailwind | ||||
| 스타일 위치 | CSS 파일 | CSS 파일 | JS 파일 | JSX |
| 네이밍 고민 | 많음 | 많음 | 적음 | 없음 |
| 일관성 | 낮음 | 보통 | 보통 | 높음 |
| 생산성 | 낮음 | 보통 | 보통 | ⭐⭐⭐⭐ |
| 런타임 비용 | 없음 | 없음 | 있음 | 없음 |
Tailwind 기본 설치 방법
npm install tailwindcss @tailwindcss/vite
설치 후 tailwind.config.js 파일과 postcss.config.js 파일이 생성된다.
필수 config 세팅
/** @type {import('tailwindcss').Config} */
module.exports = {
content: ["./src/**/*.{js,ts,jsx,tsx}"],
theme: { extend: {} },
plugins: [],
};
- content는 Tailwind CSS가 프로젝트 내 실제 사용 중인 클래스만 빌드 결과에 포함하도록 도와주는 옵션이다.
- 공식 문서에서도 이 설정이 잘못되면 필요한 클래스가 빌드 시 삭제될 수 있으니 주의하라고 강조하고 있다.
공부하고 글로 쓰며 느낀 점

Tailwind를 실제 내 프로젝트에 적용해보지 않아서 와닿지 않는 부분들이 있지만, 실제로 프로젝트에 적용해보면서 사용가능한 라이브러리로 만들고 싶고 vanilla-extract에 이어 새로운 걸 해본다는 설레임이 있다. jsx나 tsx 파일이 조금 지저분해질 것 같은 느낌이 들지만 하다보면 장단점을 발견하고 다양한 css를 사용할 수 있는 실력이될 것 같다.
'TIL' 카테고리의 다른 글
| 20260323 TanStack-Query 공부 (0) | 2026.03.23 |
|---|---|
| 20260210 Zod 라이브러리 공부하기 (0) | 2026.02.10 |
| 20260127 Zustand 공부 (0) | 2026.01.27 |
| 20260120 three.js를 공부해보았다. (1) | 2026.01.20 |
| 20260113 vanila-extract 공부 (0) | 2026.01.13 |