技術解説 3分で読めます
Tailwind CSS v4の新機能と移行のポイント
Tailwind CSS v4の新機能と、v3からの移行時のポイントを解説します。@theme構文や新しい設定方法について。
Tailwind CSS v4の新機能と移行のポイント
Tailwind CSS v4がリリースされ、多くの新機能と改善が加わりました。
主な新機能
1. @theme構文
v4では、tailwind.config.jsの代わりにCSSで直接テーマを定義できるようになりました:
@import 'tailwindcss';
@theme inline {
--color-primary: oklch(0.4341 0.0392 41.9938);
--color-secondary: oklch(0.92 0.0651 74.3695);
--radius: 0.5rem;
}
2. CSS変数の自動生成
定義したテーマ変数が自動的にTailwindクラスとして利用可能に:
<div class="bg-primary text-primary-foreground">
<!-- --color-primary と --color-primary-foreground を使用 -->
</div>
3. カスタムバリアント
より柔軟なバリアント定義が可能に:
@custom-variant dark (&:is(.dark *));
4. パフォーマンス向上
- ビルド時間の短縮
- CSSファイルサイズの削減
- 開発サーバーの高速化
v3からの移行
設定ファイルの変更
v3:
// tailwind.config.js
module.exports = {
theme: {
extend: {
colors: {
primary: '#3b82f6',
}
}
}
}
v4:
/* globals.css */
@theme inline {
--color-primary: #3b82f6;
}
ダークモード
v3:
// tailwind.config.js
module.exports = {
darkMode: 'class',
}
v4:
@custom-variant dark (&:is(.dark *));
実装例
このサイトでのTailwind v4の実装例:
@import 'tailwindcss';
@plugin "@tailwindcss/typography";
@custom-variant dark (&:is(.dark *));
@theme inline {
--color-background: var(--background);
--color-foreground: var(--foreground);
/* ... */
}
:root {
--background: oklch(0.9821 0 0);
--foreground: oklch(0.2435 0 0);
/* ... */
}
.dark {
--background: oklch(0.1776 0 0);
--foreground: oklch(0.9491 0 0);
/* ... */
}
メリット
- シンプルな設定: JavaScript設定ファイルが不要
- CSS変数との統合: 既存のCSS変数を活用
- パフォーマンス: より高速なビルド
- 保守性: CSS内で完結する設定
まとめ
Tailwind CSS v4は、より直感的で強力な機能を提供しています。 特に@theme構文とCSS変数の統合は、開発体験を大きく向上させます。
ぜひ試してみてください!