Tailwind CSS의 레이어 시스템
작성일 : 2025.02.16
개요
Tailwind CSS는 레이어(layer) 시스템을 통해 스타일을 체계적으로 관리합니다. 각 레이어는 특정한 목적을 가지고 있으며, 우선순위에 따라 순차적으로 적용됩니다. 오늘은 @tailwind 지시어의 세 가지 주요 레이어에 대해 자세히 알아보겠습니다.
1. @tailwind base
기본 HTML 요소의 스타일을 정의하는 레이어입니다.
주요 기본 스타일
/* 기본적으로 정의되는 스타일 예시 */
h1 { font-size: 2em; margin: 0.67em 0; }
h2 { font-size: 1.5em; margin: 0.83em 0; }
body { margin: 0; font-family: system-ui; }
/* styles.css */
@tailwind base;
/* base 레이어에 사용자 정의 스타일 추가 */
@layer base {
h1 {
@apply text-2xl font-bold mb-4;
}
h2 {
@apply text-xl font-semibold mb-3;
}
/* 기본 링크 스 타일 */
a {
@apply text-blue-600 hover:text-blue-800;
}
}
base 레이어의 주요 클래스들
antialiased: 더 부드러운 폰트 렌더링selection:bg-{color}: 텍스트 선택 시 배경색font-sans,font-serif,font-mono: 기본 폰트 패밀리dark:: 다크 모드 기본 설정
2. @tailwind components
재사용 가능한 컴포넌트 스타일을 정의하는 레이어입니다.
컴포넌트 레이어의 주요 클래스들
/* 자주 사용되는 컴포넌트 클래스 예시 */
.btn {
@apply px-4 py-2 rounded;
}
.card {
@apply p-6 rounded-lg shadow-lg;
}
.badge {
@apply px-2 py-1 text-sm rounded-full;
}
.nav-link {
@apply text-gray-700 hover:text-gray-900;
}
/* styles.css */
@tailwind components;
/* 사용자 정의 컴포넌트 클래스 */
@layer components {
.btn {
@apply px-4 py-2 rounded-lg font-semibold transition-colors;
}
.btn-primary {
@apply btn bg-blue-500 text-white hover:bg-blue-600;
}
.btn-secondary {
@apply btn bg-gray-500 text-white hover:bg-gray-600;
}
.card {
@apply p-6 rounded-xl shadow-lg bg-white;
}
}
3. @tailwind utilities
가장 세부적인 스타일을 담당하는 유틸리티 레이어입니다.