Tailwind CSS: Claude Code 활용 가이드
tailwind css: Claude Code 활용. 실용적인 팁과 코드 예시를 포함합니다.
Tailwind CSS と Claude Code
Tailwind CSSはユーティリティファーストのCSS프레임워크です。Claude Code와組み合わせれば、デザインの意図を自然言語で伝えてUIを빠르게구축할 수 있습니다。
カスタム테마설정
// tailwind.config.ts
import type { Config } from "tailwindcss";
const config: Config = {
content: ["./src/**/*.{js,ts,jsx,tsx,mdx}"],
theme: {
extend: {
colors: {
brand: {
50: "#eff6ff",
100: "#dbeafe",
200: "#bfdbfe",
300: "#93c5fd",
400: "#60a5fa",
500: "#3b82f6",
600: "#2563eb",
700: "#1d4ed8",
800: "#1e40af",
900: "#1e3a8a",
},
},
fontFamily: {
sans: ["Inter", "Noto Sans JP", "sans-serif"],
mono: ["JetBrains Mono", "monospace"],
},
spacing: {
18: "4.5rem",
88: "22rem",
},
animation: {
"fade-in": "fadeIn 0.5s ease-in-out",
"slide-up": "slideUp 0.3s ease-out",
"pulse-slow": "pulse 3s infinite",
},
keyframes: {
fadeIn: {
"0%": { opacity: "0" },
"100%": { opacity: "1" },
},
slideUp: {
"0%": { transform: "translateY(10px)", opacity: "0" },
"100%": { transform: "translateY(0)", opacity: "1" },
},
},
},
},
plugins: [],
};
export default config;
반응형カード컴포넌트
function ProductCard({
product,
}: {
product: { name: string; price: number; image: string; badge?: string };
}) {
return (
<div className="group relative overflow-hidden rounded-xl border border-gray-200 bg-white shadow-sm transition-all hover:shadow-lg hover:-translate-y-1">
{/* バッジ */}
{product.badge && (
<span className="absolute top-3 right-3 z-10 rounded-full bg-brand-500 px-3 py-1 text-xs font-semibold text-white">
{product.badge}
</span>
)}
{/* 画像 */}
<div className="aspect-square overflow-hidden">
<img
src={product.image}
alt={product.name}
className="h-full w-full object-cover transition-transform duration-300 group-hover:scale-105"
/>
</div>
{/* コンテンツ */}
<div className="p-4 sm:p-6">
<h3 className="text-lg font-semibold text-gray-900 line-clamp-2">
{product.name}
</h3>
<p className="mt-2 text-2xl font-bold text-brand-600">
${product.price.toLocaleString()}
</p>
<button className="mt-4 w-full rounded-lg bg-brand-500 px-4 py-2.5 text-sm font-medium text-white transition-colors hover:bg-brand-600 focus:outline-none focus:ring-2 focus:ring-brand-500 focus:ring-offset-2">
カートに追加
</button>
</div>
</div>
);
}
그리드레이아웃パターン
function ProductGrid({ products }: { products: Product[] }) {
return (
<div className="grid grid-cols-1 gap-4 sm:grid-cols-2 md:gap-6 lg:grid-cols-3 xl:grid-cols-4">
{products.map((product) => (
<ProductCard key={product.id} product={product} />
))}
</div>
);
}
ダークモード대응
function ThemeToggle() {
return (
<div className="bg-white dark:bg-gray-900 min-h-screen transition-colors">
<header className="border-b border-gray-200 dark:border-gray-700 px-6 py-4">
<h1 className="text-2xl font-bold text-gray-900 dark:text-white">
マイアプリ
</h1>
</header>
<main className="p-6">
<div className="rounded-lg bg-gray-50 dark:bg-gray-800 p-6">
<p className="text-gray-700 dark:text-gray-300">
ダークモードにも対応しています。
</p>
</div>
</main>
</div>
);
}
@apply で클래스の共通化
/* globals.css */
@layer components {
.btn-primary {
@apply rounded-lg bg-brand-500 px-4 py-2 text-sm font-medium text-white
transition-colors hover:bg-brand-600 focus:outline-none
focus:ring-2 focus:ring-brand-500 focus:ring-offset-2;
}
.btn-secondary {
@apply rounded-lg border border-gray-300 bg-white px-4 py-2 text-sm
font-medium text-gray-700 transition-colors hover:bg-gray-50
focus:outline-none focus:ring-2 focus:ring-brand-500 focus:ring-offset-2;
}
.input-field {
@apply w-full rounded-lg border border-gray-300 px-4 py-2 text-sm
placeholder:text-gray-400 focus:border-brand-500 focus:outline-none
focus:ring-1 focus:ring-brand-500;
}
}
애니메이션구현
function NotificationToast({ message }: { message: string }) {
return (
<div className="animate-slide-up fixed bottom-4 right-4 flex items-center gap-3 rounded-lg bg-gray-900 px-4 py-3 text-white shadow-lg">
<svg className="h-5 w-5 text-green-400" fill="currentColor" viewBox="0 0 20 20">
<path
fillRule="evenodd"
d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z"
clipRule="evenodd"
/>
</svg>
<span className="text-sm">{message}</span>
</div>
);
}
Claude Code로の効率的なプロンプト
Tailwind CSSのUI구현をClaude Code에依頼する例です。効率的なプロンプトの書き方は효과적인プロンプト5つのTips、반응형설계はPWA개발도 참고하세요.
このデザインをTailwind CSSで実装して。
- レスポンシブ対応(モバイルファースト)
- ダークモード対応
- ホバーとフォーカスのインタラクション
- アクセシビリティ(aria属性、フォーカス管理)
Tailwind CSSの公式레퍼런스はTailwind CSS Docs를 참고하세요.Claude Code의 활용법은공식 문서에서 확인할 수 있습니다.
정리
Tailwind CSSとClaude Codeの組み合わせは非常に強力です。デザインの意図を自然言語で伝える만으로、반응형대응やダークモードを含むモダンなUIを빠르게구축할 수 있습니다。
#Claude Code
#Tailwind CSS
#CSS
#デザイン
#frontend
Related Posts
Tips & Tricks
Tips & Tricks
Claude Code 생산성을 3배로 높이는 10가지 팁
Claude Code를 더 효과적으로 활용하는 10가지 실전 팁을 공개합니다. 프롬프트 전략부터 워크플로 단축키까지, 오늘부터 바로 적용해 보세요.
Tips & Tricks
Tips & Tricks
Canvas/WebGL Optimization: Claude Code 활용 가이드
canvas/webgl optimization: Claude Code 활용. 실용적인 팁과 코드 예시를 포함합니다.
Tips & Tricks
Tips & Tricks
Markdown Implementation: Claude Code 활용 가이드
markdown implementation: Claude Code 활용. 실용적인 팁과 코드 예시를 포함합니다.