Next.jsでTailwindCSSにプライマリーカラーとセカンダリーカラーを設定する手順
はじめに
- TailwindCSS でプライマリーカラーとセカンダリーカラーを設定する方法を紹介します。
- プライマリーカラーとセカンダリーカラーの設定には、色相環、補色を利用します。
- ソースコードは以下です。
プライマリーカラーを選定
まず、プライマリーカラーを決めます。
テーマカラーを検討する上で、ヒントをくれるサイトからプライマリーカラーを選びます。
プライマリーカラーとして、「#FFB84C」を選択します。
セカンダリーカラーを選定
次に、セカンダリーカラーを選定します。
セカンダリーカラーはプライマリーカラーの「補色」を利用します。「補色」とは、色相環の反対側に位置する 2 色を指します。例えば、赤の補色は青緑で、黄色の補色は青紫です。補色は色相差が最も大きいので、お互いの色を目立たせる効果があります。
Color wheel という補色を選択できるサービスを利用します。
セカンダリーカラーは「#4C93FF」とします。
新規プロジェクト作成
新規プロジェクトを作成します。
$ pnpm create next-app@latest next-tailwind-css-primary-secondary --typescript --eslint --import-alias "@/*" --src-dir --use-pnpm --tailwind --app
cd next-tailwind-css-primary-secondary
Tailwindの設定ファイルを確認
以下のファイルにプライマリーカラーとセカンダリーカラーを後ほど追記します。
/** @type {import('tailwindcss').Config} */
module.exports = {
content: [
'./src/pages/**/*.{js,ts,jsx,tsx,mdx}',
'./src/components/**/*.{js,ts,jsx,tsx,mdx}',
'./src/app/**/*.{js,ts,jsx,tsx,mdx}',
],
theme: {
extend: {
backgroundImage: {
'gradient-radial': 'radial-gradient(var(--tw-gradient-stops))',
'gradient-conic':
'conic-gradient(from 180deg at 50% 50%, var(--tw-gradient-stops))',
},
},
},
plugins: [],
}
TailwindCSSに設定する色を生成
以下のサイトで TailwindCSS に設定する色を生成できます。
プライマリーカラー
色コードのテキストフィールドにプライマリーカラーを入力します。すると、TailwindCSS に設定する色が 11 色生成されます。
Export をクリックします。
「Copy code」をクリックし、コードをコピーします。
後ほど、こちらのコードを tailwind.config.js に追記します。
'texas-rose': {
'50': '#fffaed',
'100': '#fff4d4',
'200': '#ffe4a8',
'300': '#ffd071',
'400': '#ffb84c',
'500': '#fe9611',
'600': '#ef7b07',
'700': '#c65c08',
'800': '#9d490f',
'900': '#7e3d10',
'950': '#441c06',
},
セカンダリーカラー
同様にセカンダリーカラーの TailwindCSS に設定する色が 11 色生成します。
'dodger-blue': {
'50': '#eef5ff',
'100': '#dae8ff',
'200': '#bdd8ff',
'300': '#90bfff',
'400': '#4c93ff',
'500': '#3577fc',
'600': '#1f56f1',
'700': '#1741de',
'800': '#1936b4',
'900': '#1a328e',
'950': '#152156',
},
Tailwindの設定に追記
Tailwind の設定ファイルに追記し、プライマリーカラーとセカンダリーカーを設定します。
色を追記する方法は公式ドキュメントに記載されています。
下記の通り、tailwind.config.js
に追記します。
/** @type {import('tailwindcss').Config} */
module.exports = {
content: [
'./src/pages/**/*.{js,ts,jsx,tsx,mdx}',
'./src/components/**/*.{js,ts,jsx,tsx,mdx}',
'./src/app/**/*.{js,ts,jsx,tsx,mdx}',
],
theme: {
extend: {
backgroundImage: {
'gradient-radial': 'radial-gradient(var(--tw-gradient-stops))',
'gradient-conic':
'conic-gradient(from 180deg at 50% 50%, var(--tw-gradient-stops))',
},
},
+ colors: {
+ primary: {
+ 50: "#fffaed",
+ 100: "#fff4d4",
+ 200: "#ffe4a8",
+ 300: "#ffd071",
+ 400: "#ffb84c",
+ 500: "#fe9611",
+ 600: "#ef7b07",
+ 700: "#c65c08",
+ 800: "#9d490f",
+ 900: "#7e3d10",
+ 950: "#441c06",
+ },
+ secondary: {
+ 50: "#eef5ff",
+ 100: "#dae8ff",
+ 200: "#bdd8ff",
+ 300: "#90bfff",
+ 400: "#4c93ff",
+ 500: "#3577fc",
+ 600: "#1f56f1",
+ 700: "#1741de",
+ 800: "#1936b4",
+ 900: "#1a328e",
+ 950: "#152156",
+ },
+ },
},
plugins: [],
}
これで設定が完了しました。
プライマリーカラーとセカンダリーカラーを使用する
page.tsx
を修正します。
テキストカラーに text-primary-400
と text-secondary-400
を使っています。
export default function Home() {
return (
<main>
<h1 className="text-4xl text-primary-400">Tailwind Primary Color Title</h1>
<h1 className="text-lg text-secondary-400">Tailwind Secondary Color Title</h1>
</main>
)
}
開発環境を実行します。
pnpm dev
ブラウザで開くと、プライマリーカラーとセカンダリーカラーが適用されていることが確認できます。
まとめ
- TailwindCSS のカラーをカスタマイズする方法を学びました。
- プライマリーカラーとセカンダリーカラーを設定しました。
参考
- https://uicolors.app/create
- https://absarcs.info/how-to/customize-tailwind-css-color-palette/
- https://fwywd.com/tech/tailwindcss-color-palette
- https://zenn.dev/hrkmtsmt/articles/0810d88fbfa1f3
- https://tailwindcss.com/docs/customizing-colors
- https://www.canva.com/colors/color-wheel/
- https://ionicframework.com/docs/ja/theming/color-generator
- https://ja.wikipedia.org/wiki/補色
Discussion