Tailwind CSSのカスタマイズ方法

CSS, デザインシステム, フロントエンド

はじめに

こんにちは!
レコチョクでWebアプリ開発のフロントエンド領域を担当している山本です。

最近、Next.jsにTailwind CSSというCSSフレームワークを導入して開発する機会がありました。

CSSフレームワークを導入することで、1から全てスタイルを当てることなく統一感のあるデザインを作成することができます。
しかし、デザイナーが指定しているフォントのサイズ感や余白感が導入したCSSフレームワークの定数と異なることは多々あるかと思います。
また、命名が汎用的すぎて逆に分かりにくいということもあるのではないでしょうか。

Tailwind CSSのクラスをカスタマイズして開発を行なっていたので、その設定方法をご紹介します。

やりたいこと

Tailwind CSSには以下のような汎用的なクラスが用意されています。

フォントサイズ
スクリーンショット 2025-04-25 17.01.09.png


スクリーンショット 2025-04-25 17.01.32.png

余白
スクリーンショット 2025-04-25 17.01.09.png

これを以下のようなデザイナーが指定したデザインシステムに合わせてカスタマイズしたいと思います。
フォントサイズ
スクリーンショット 2025-04-25 17.19.56.png


スクリーンショット 2025-04-25 17.20.38.png

余白
スクリーンショット 2025-04-25 17.21.13.png

事前準備

公式のドキュメントを参考に、Next.jsにTailwind CSSを導入します。
(ここでは導入方法は省略します。)

開発環境

パッケージ名 バージョン
Next.js v15.1.5
Tailwind CSS v3.4.1
TypeScript v5.5.4

対応方法

1. カスタムしたい定数を設定

  • globals.cssにカスタムプロパティを宣言

  • tailwind.config.ts にカスタムプロパティを設定

3. カスタムクラスを使用

  • カスタムクラスを当てる前の状態

スクリーンショット 2025-04-30 12.22.58.png

  • カスタムクラスを反映

すると、設定したカスタムクラスが適用されています。
スクリーンショット 2025-04-30 12.25.24.png

画面サイズによってクラスを変えたい時

モバイルとタブレットで指定した値を変えたい時もあるかと思います。
今回は、モバイルとタブレットでフォントサイズを変えたかったので、globals.cssに以下のように記載しました。

これで画面サイズによってフォントサイズを変えることができます。

Tailwind CSSのクラスを動的に変えたい時

Tailwind CSSはビルド時に使用しているクラスを解析し、未使用のスタイルを削除してしまいます。
そのため、動的にクラスを変える際は別途設定が必要です。

カテゴリーごとに背景色を変えたい
スクリーンショット 2025-04-25 18.50.13.png

このように書いても、背景色が反映されませんでした。
スクリーンショット 2025-04-25 18.48.27.png

解決方法

以下のように記載することで tailwind.config.js で必ず読み込むクラスを指定しておくことで、ビルド時に削除されることなくスタイルが当たるようになります。

スクリーンショット 2025-04-25 18.48.57.png

おわりに

このように、Tailwind CSSのクラスをカスタマイズすることで、独自に設定したクラス名で開発を行うことができました。
個人的に、 m-2text-sm といった命名だと、どのようなスタイルが適用されているのかわかりにくかったり、デザイナーが考慮してくれた数値が本当にあたっているのか確認しにくいと感じます。
カスタムクラスの命名をデザインシステムに則った形式にカスタマイズすることで、コーディングするときもレビューするときも、意図したCSSがあたっているか確認しやすくなるかと思います。

最後まで読んでいただきありがとうございました!!

参考・引用元

この記事を書いた人

山本早希