angular-tailwind について
Angular プロジェクト向けの Tailwind CSS スタイリングスキルです。セットアップ、テンプレートでのユーティリティ利用、一般的なスタイルパターンを扱い、Tailwind CSS 4.x と Angular 17+ に対応します。
主な機能
- 01Tailwind CSS の導入と設定
- 02テンプレートでのユーティリティ利用
- 03条件付きクラスとバインディング
- 04@apply による再利用可能なスタイル
- 05テーマのカスタマイズとダークモード
活用シーン
- 01ユーティリティで Angular コンポーネントを装飾
- 02状態に応じたクラス切り替え
- 03再利用可能なボタンやカードのスタイル作成
- 04テーマ色の変更やダークモードの有効化
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ oguzhan18/ angular-ecosystem-skills --skill angular-tailwindインストール後、Claude Code で/angular-tailwindを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/discussions/_INDEX.mdreferences/docs/_INDEX.mdreferences/issues/_INDEX.mdreferences/releases/_INDEX.md詳細
Angular + Tailwind CSS
バージョン: Tailwind CSS 4.x(2025) タグ: Tailwind CSS、スタイリング、ユーティリティファースト、CSS
参考資料: Tailwind CSS • Angular Tailwind
API の変更
このセクションでは、最近のバージョン固有の API の変更について説明します。
-
新機能:Tailwind CSS v4 — パフォーマンスが向上した新しいエンジン source
-
新機能:@tailwindcss/vite — Vite のネイティブサポート
-
新機能:CSS ファーストの設定 — 設定ファイルの代わりに CSS で Tailwind を設定
-
新機能:Angular 17 以降のサポート — スタンドアロンコンポーネントとの完全な互換性
ベストプラクティス
- Tailwind CSS をインストールする
npm install -D tailwindcss postcss autoprefixer
npx tailwindcss init
- tailwind.config.js を設定する
/** @type {import('tailwindcss').Config} */
module.exports = {
content: [
"./src/**/*.{html,ts}",
],
theme: {
extend: {},
},
plugins: [],
}
- スタイルにディレクティブを追加する
@tailwind base;
@tailwind components;
@tailwind utilities;
- Angular で Tailwind v4 を使用する
npm install tailwindcss @tailwindcss/vite
// vite.config.ts
import tailwindcss from '@tailwindcss/vite';
export default defineConfig({
plugins: [tailwindcss()],
});
@import "tailwindcss";
- テンプレートでユーティリティクラスを使用する
@Component({
template: `
<div class="flex items-center justify-between p-4 bg-white shadow rounded-lg">
<h1 class="text-2xl font-bold text-gray-800">Title</h1>
<button class="px-4 py-2 bg-blue-500 text-white rounded hover:bg-blue-600">
Click
</button>
</div>
`
})
export class CardComponent {}
- 条件付きクラスには ngClass を使用する
@Component({
template: `
<div [ngClass]="isActive ? 'bg-blue-500' : 'bg-gray-200'">
Content
</div>
`
})
export class MyComponent {}
- クラスバインディングを使用する
@Component({
template: `
<div [class]="containerClasses">
Content
</div>
`
})
export class MyComponent {
containerClasses = 'p-4 bg-white rounded-lg shadow';
}
- Tailwind でカスタムコンポーネントを作成する
@Component({
selector: 'app-button',
template: `
<button [class]="buttonClasses">
<ng-content></ng-content>
</button>
`
})
export class ButtonComponent {
@Input() variant: 'primary' | 'secondary' = 'primary';
get buttonClasses() {
const base = 'px-4 py-2 rounded font-medium transition';
const variants = {
primary: 'bg-blue-500 text-white hover:bg-blue-600',
secondary: 'bg-gray-200 text-gray-800 hover:bg-gray-300'
};
return `${base} ${this.variants[this.variant]}`;
}
}
- 再利用可能なスタイルには @apply を使用する
@layer components {
.btn-primary {
@apply px-4 py-2 bg-blue-500 text-white rounded hover:bg-blue-600;
}
.card {
@apply bg-white rounded-lg shadow p-4;
}
}
- テーマのカスタマイズを使用する
// tailwind.config.js
module.exports = {
theme: {
extend: {
colors: {
brand: {
50: '#f0f9ff',
500: '#0ea5e9',
900: '#0c4a6e',
}
}
}
}
}
- ダークモードを使用する
// tailwind.config.js
module.exports = {
darkMode: 'class',
}
@Component({
template: `
<div class="dark:bg-gray-900 dark:text-white">
Content
</div>
`
})
export class DarkComponent {}
コメント
Markdown 対応