カスタムCSSからTailwind CSSへの移行は、現代のフロントエンド開発で最もよく行われるリファクタリング作業の一つです。レガシーのスタイルシートを変換する場合でも、FigmaのデザインをHTML化する場合でも、サードパーティコンポーネントを取り込む場合でも、CSSプロパティとTailwindユーティリティクラスの対応関係を知っておくと大幅な時間短縮になります。

CSSをTailwindに即座に変換 →

Tailwind CSSの仕組み

TailwindはUtility-FirstのCSSフレームワークです。.card.hero-section のような意味のあるクラス名を書く代わりに、単一目的のユーティリティクラスをHTMLに直接組み合わせます:

<!-- 従来のCSSアプローチ -->
<div class="card">...</div>

<!-- Tailwindアプローチ -->
<div class="rounded-lg shadow-md p-6 bg-white border border-gray-200">...</div>

各ユーティリティクラスは1つ(または少数のグループ)のCSS宣言にマッピングされます。Tailwindのビルドプロセスはコードをスキャンして実際に使用されたCSSだけを生成します。

CSSとTailwindの主要マッピング

スペーシング(margin、padding)

Tailwindはデフォルトで 1 = 4px(0.25rem)の数値スケールを使用します:

CSSTailwind
margin: 0m-0
margin: 1remm-4
margin: 2remm-8
margin-top: 1.5remmt-6
margin-left: automl-auto
padding: 0.5remp-2
padding: 1.25remp-5
padding-left: 2rempl-8
padding-top: 0; padding-bottom: 0py-0
padding-left: 1rem; padding-right: 1rempx-4

省略パターン:m = margin、p = padding、t/r/b/l = 上/右/下/左、x = 水平、y = 垂直。

サイズ(width、height)

CSSTailwind
width: 100%w-full
width: 50%w-1/2
width: 100vww-screen
width: autow-auto
width: 2remw-8
max-width: 64remmax-w-4xl
height: 100%h-full
height: 100vhh-screen
min-height: 100vhmin-h-screen

タイポグラフィ

CSSTailwind
font-size: 0.875remtext-sm
font-size: 1remtext-base
font-size: 1.25remtext-xl
font-size: 2.25remtext-4xl
font-weight: 400font-normal
font-weight: 600font-semibold
font-weight: 700font-bold
line-height: 1.5leading-normal
text-align: centertext-center
text-transform: uppercaseuppercase
color: #6b7280text-gray-500

Flexbox

CSSTailwind
flex-direction: rowflex-row
flex-direction: columnflex-col
justify-content: centerjustify-center
justify-content: space-betweenjustify-between
align-items: centeritems-center
flex-wrap: wrapflex-wrap
gap: 1remgap-4
flex: 1flex-1

Grid

CSSTailwind
grid-template-columns: repeat(3, 1fr)grid-cols-3
grid-column: span 2col-span-2
gap: 1.5remgap-6

ボーダーとシャドウ

CSSTailwind
border: 1px solidborder
border-radius: 0.25remrounded
border-radius: 0.5remrounded-lg
border-radius: 9999pxrounded-full
box-shadow: 0 4px 6px rgba(0,0,0,0.1)shadow-md

任意の値

デザインがTailwindのデフォルトスケールにない値を使う場合は、角括弧付きの任意値構文を使用します:

<!-- Tailwindの任意値 -->
<div class="w-[327px] pt-[22px] text-[#1a2b3c]">

任意値はあらゆるTailwindユーティリティで動作します:h-[calc(100vh-4rem)]grid-cols-[1fr_2fr_1fr]

レスポンシブデザイン

Tailwindはモバイルファーストのブレークポイントプレフィックスを使用します:

ブレークポイントCSSの等価プレフィックス
モバイル(デフォルト)すべての幅(なし)
SM@media (min-width: 640px)sm:
MD@media (min-width: 768px)md:
LG@media (min-width: 1024px)lg:
<!-- Tailwindのレスポンシブクラス -->
<h1 class="text-2xl md:text-4xl lg:text-5xl">ヒーロー</h1>

実際の変換例

典型的なカードコンポーネント:

/* 変換前:カスタムCSS */
.card {
  background-color: #ffffff;
  border-radius: 0.75rem;
  padding: 1.5rem;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.07);
  border: 1px solid #f3f4f6;
}

.card-title {
  font-size: 1.125rem;
  font-weight: 600;
  color: #111827;
  margin-bottom: 0.5rem;
}
<!-- 変換後:Tailwind -->
<div class="bg-white rounded-xl p-6 shadow-md border border-gray-100">
  <h3 class="text-lg font-semibold text-gray-900 mb-2">タイトル</h3>
  <p class="text-sm text-gray-500 leading-relaxed">本文テキスト。</p>
</div>

Tailwind v4の変更点

Tailwind v4は2025年初頭にリリースされ、設定方法が変わりました。

tailwind.config.js が不要に

v4ではJavaScriptファイルからCSSへ設定が移動しました:

/* v4: メインCSSファイル */
@import "tailwindcss";

@theme {
  --color-brand: #1a73e8;
  --spacing-18: 4.5rem;
}

3つの @tailwind ディレクティブ(basecomponentsutilities)は単一の @import "tailwindcss" に置き換えられました。

v4でのクラス名変更

v3クラスv4相当変更内容
shadowshadow-smデフォルトシャドウがより微妙に
ringring-3デフォルトリング幅が1pxに減少

公式アップグレードツール

npx @tailwindcss/upgrade

これで tailwind.config.js@theme ブロックへの変換、非推奨クラスの名前変更が処理されます。その後、残りのカスタムCSSにはCSS to Tailwindコンバーターを使用してください。

オンラインCSS to Tailwindコンバーター

1回限りの変換には、ZeroToolのCSS to TailwindコンバーターがCSSプロパティブロックをリアルタイムでTailwindに変換します。左にCSSを貼り付けると、右にTailwindクラスが出力されます——ビルドステップもインストールも不要。

CSS to Tailwindコンバーターを試す →