Tailwind CSS v4 での主要な変更点の一つは、CSS を中心にした設定(CSS First Configurations)が導入されたことです。これにより、従来は tailwind.config.js
ファイルで定義していたテーマやその他の設定を、CSS ファイル内で直接行うことが可能になりました。
Tailwind CSS v4 での主要な変更点の一つは、CSS を中心にした設定(CSS First Configurations)が導入されたことです。これにより、従来は tailwind.config.js
ファイルで定義していたテーマやその他の設定を、CSS ファイル内で直接行うことが可能になりました。
ですが、逆にTailwindの初心者にはかなり迷惑です。なぜなら、TailwindCSSを使った他のUIコンポネートフレームワークのドキュメントが更新されず、従来の「tailwindcss.config.js」ファイルが消えたせいで、色の設定などの内容をどこに書けば良いかが分かりません。
直接app.cssを修正します。下記のコードを完全コピーでOKです。
@import "tailwindcss";
@plugin "flowbite/plugin";
@source "../node_modules/flowbite";
@custom-variant dark (&:where(.dark, .dark *));
@theme {
--color-primary-50: #eff6ff;
--color-primary-100: #dbeafe;
--color-primary-200: #bfdbfe;
--color-primary-300: #93c5fd;
--color-primary-400: #60a5fa;
--color-primary-500: #3b82f6;
--color-primary-600: #2563eb;
--color-primary-700: #1d4ed8;
--color-primary-800: #1e40af;
--color-primary-900: #1e3a8a;
--font-sans: 'Inter', 'ui-sans-serif', 'system-ui', '-apple-system', 'system-ui', 'Segoe UI', 'Roboto', 'Helvetica Neue', 'Arial', 'Noto Sans', 'sans-serif', 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
--font-body: 'Inter', 'ui-sans-serif', 'system-ui', '-apple-system', 'system-ui', 'Segoe UI', 'Roboto', 'Helvetica Neue', 'Arial', 'Noto Sans', 'sans-serif', 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
--font-mono: 'ui-monospace', 'SFMono-Regular', 'Menlo', 'Monaco', 'Consolas', 'Liberation Mono', 'Courier New', 'monospace';
}
公式ドキュメント: https://flowbite.com/docs/customize/configuration/
tailwind.config.js
を再利用Step1: app.cssを下記の内容に設定する
@import "tailwindcss";
@config "./../tailwind.config.js";
Step2: 手動でtailwind.config.js
を作成して、下記の内容を追加する
/** @type {import('tailwindcss').Config} */
export default {
content: [
"./src/**/*.{html,js,svelte,ts}",
"./node_modules/flowbite-svelte/**/*.{html,js,svelte,ts}"
],
plugins: [require('flowbite/plugin')],
darkMode: 'class',
theme: {
extend: {
colors: {
// Flowbite-Svelteのプライマリカラー設定
primary: {
50: '#FFF5F2',
100: '#FFF1EE',
200: '#FFE4DE',
300: '#FFD5CC',
400: '#FFBCAD',
500: '#FE795D',
600: '#EF562F',
700: '#EB4F27',
800: '#CC4522',
900: '#A5371B'
}
}
}
}
};
npx sv create my-app
cd my-app
npm install
npm i -D flowbite-svelte flowbite flowbite-svelte-icons
src/app.html
ファイルにあるbodyタグにclassを修正:<!doctype html>
<html lang="ja">
<head>
<meta charset="utf-8" />
<link rel="icon" href="%sveltekit.assets%/favicon.png" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
%sveltekit.head%
</head>
<body data-sveltekit-preload-data="hover" class="bg-white dark:bg-gray-800">
<div style="display: contents">%sveltekit.body%</div>
</body>
</html>
<!-- src/routes/+layout.svelte -->
<script>
import { DarkMode } from 'flowbite-svelte';
</script>
<DarkMode />