Tailwind はカスタムユーザーインターフェース構築のためのフレームワークであるため、最初からカスタマイズを念頭に置いて設計されています。

デフォルトでは、Tailwind はプロジェクトのルートにあるオプションの `tailwind.config.js` ファイルを探し、そこでカスタマイズを定義できます。

tailwind.config.js
/** @type {import('tailwindcss').Config} */
module.exports = {
  content: ['./src/**/*.{html,js}'],
  theme: {
    colors: {
      'blue': '#1fb6ff',
      'purple': '#7e5bef',
      'pink': '#ff49db',
      'orange': '#ff7849',
      'green': '#13ce66',
      'yellow': '#ffc82c',
      'gray-dark': '#273444',
      'gray': '#8492a6',
      'gray-light': '#d3dce6',
    },
    fontFamily: {
      sans: ['Graphik', 'sans-serif'],
      serif: ['Merriweather', 'serif'],
    },
    extend: {
      spacing: {
        '8xl': '96rem',
        '9xl': '128rem',
      },
      borderRadius: {
        '4xl': '2rem',
      }
    }
  },
}

設定ファイルの各セクションはオプションなので、変更したい部分だけを指定するだけで済みます。 欠けているセクションは、Tailwind のデフォルト設定に戻ります。


設定ファイルの作成

`tailwindcss` npm パッケージのインストール時に含まれる Tailwind CLI ユーティリティを使用して、プロジェクトの Tailwind 設定ファイルを作成します。

npx tailwindcss init

これにより、プロジェクトのルートに最小限の `tailwind.config.js` ファイルが作成されます。

tailwind.config.js
/** @type {import('tailwindcss').Config} */
module.exports = {
  content: [],
  theme: {
    extend: {},
  },
  plugins: [],
}

異なるファイル名の使用

`tailwind.config.js` 以外の名前を使用するには、コマンドライン引数として渡します。

npx tailwindcss init tailwindcss-config.js

カスタムファイル名を使用する場合は、Tailwind CLI ツールを使用して CSS をコンパイルする際に、コマンドライン引数として指定する必要があります。

npx tailwindcss -c ./tailwindcss-config.js -i input.css -o output.css

Tailwind を PostCSS プラグインとして使用している場合は、PostCSS 設定でカスタム設定パスを指定する必要があります。

postcss.config.js
module.exports = {
  plugins: {
    tailwindcss: { config: './tailwindcss-config.js' },
  },
}

または、`@config` ディレクティブを使用してカスタム設定パスを指定できます。

@config "./tailwindcss-config.js";

@tailwind base;
@tailwind components;
@tailwind utilities;

`@config` ディレクティブの詳細については、関数とディレクティブのドキュメントをご覧ください。

ESM または TypeScript の使用

Tailwind CSS は ESM や TypeScript でも設定できます。

/** @type {import('tailwindcss').Config} */
export default {
  content: [],
  theme: {
    extend: {},
  },
  plugins: [],
}

`npx tailwindcss init` を実行すると、プロジェクトが ES モジュールであるかどうかを検出し、適切な構文で設定ファイルが自動的に生成されます。

`--esm` フラグを使用して、ESM 設定ファイルを明示的に生成することもできます。

npx tailwindcss init --esm

TypeScript 設定ファイルを作成するには、`--ts` フラグを使用します。

npx tailwindcss init --ts

PostCSS 設定ファイルの生成

`-p` フラグを使用すると、`tailwind.config.js` ファイルと同時に基本的な `postcss.config.js` ファイルも生成できます。

npx tailwindcss init -p

これにより、次のような `postcss.config.js` ファイルがプロジェクトに生成されます。

postcss.config.js
module.exports = {
  plugins: {
    tailwindcss: {},
    autoprefixer: {},
  },
}

デフォルト設定全体の足場構築

ほとんどのユーザーにとって、設定ファイルはできるだけ小さく保ち、カスタマイズしたいものだけを指定することをお勧めします。

Tailwind のデフォルト設定全体を含む完全な設定ファイルを足場化したい場合は、`--full` オプションを使用します。

npx tailwindcss init --full

Tailwind が内部的に使用しているデフォルト設定ファイルと一致するファイルが得られます。


設定オプション

コンテンツ

`content` セクションでは、すべての HTML テンプレート、JS コンポーネント、および Tailwind クラス名を含むその他のファイルへのパスを設定します。

tailwind.config.js
/** @type {import('tailwindcss').Config} */
module.exports = {
  content: [
    './pages/**/*.{html,js}',
    './components/**/*.{html,js}',
  ],
  // ...
}

コンテンツソースの設定の詳細については、コンテンツ設定のドキュメントをご覧ください。

テーマ

`theme` セクションでは、カラーパレット、フォント、タイプスケール、ボーダーサイズ、ブレークポイントなど、サイトのビジュアルデザインに関するすべてのものを定義します。

tailwind.config.js
/** @type {import('tailwindcss').Config} */
module.exports = {
  // ...
  theme: {
    colors: {
      'blue': '#1fb6ff',
      'purple': '#7e5bef',
      'pink': '#ff49db',
      'orange': '#ff7849',
      'green': '#13ce66',
      'yellow': '#ffc82c',
      'gray-dark': '#273444',
      'gray': '#8492a6',
      'gray-light': '#d3dce6',
    },
    fontFamily: {
      sans: ['Graphik', 'sans-serif'],
      serif: ['Merriweather', 'serif'],
    },
    extend: {
      spacing: {
        '8xl': '96rem',
        '9xl': '128rem',
      },
      borderRadius: {
        '4xl': '2rem',
      }
    }
  }
}

デフォルトのテーマとカスタマイズ方法の詳細については、テーマ設定ガイドをご覧ください。

プラグイン

plugins セクションでは、追加のユーティリティ、コンポーネント、ベーススタイル、またはカスタムバリアントを生成するために使用できる、Tailwindにプラグインを登録できます。

tailwind.config.js
/** @type {import('tailwindcss').Config} */
module.exports = {
  // ...
  plugins: [
    require('@tailwindcss/forms'),
    require('@tailwindcss/aspect-ratio'),
    require('@tailwindcss/typography'),
    require('tailwindcss-children'),
  ],
}

独自のプラグインの作成については、プラグイン作成ガイドをご覧ください。

プリセット

presets セクションでは、Tailwindのデフォルトのベース設定を使用する代わりに、独自の カスタムベース設定を指定できます。

tailwind.config.js
/** @type {import('tailwindcss').Config} */
module.exports = {
  // ...
  presets: [
    require('@acmecorp/base-tailwind-config')
  ],

  // Project-specific customizations
  theme: {
    //...
  },
}

プリセットの詳細については、プリセットドキュメントをご覧ください。

プレフィックス

prefix オプションを使用すると、Tailwindで生成されるすべてのユーティリティクラスにカスタムプレフィックスを追加できます。これは、名前の競合が発生する可能性のある既存のCSSの上にTailwindを重ねる際に非常に役立ちます。

たとえば、tw-プレフィックスを次のようにprefixオプションを設定することで追加できます。

tailwind.config.js
/** @type {import('tailwindcss').Config} */
module.exports = {
  prefix: 'tw-',
}

これで、すべてのクラスに設定されたプレフィックスが付加されます。

.tw-text-left {
  text-align: left;
}
.tw-text-center {
  text-align: center;
}
.tw-text-right {
  text-align: right;
}
/* etc. */

このプレフィックスは、バリアント修飾子の後に追加されることに注意することが重要です。つまり、sm:hover:などのレスポンシブまたはステート修飾子を持つクラスでは、レスポンシブまたはステート修飾子がにあり、カスタムプレフィックスはコロンの後に表示されます。

<div class="tw-text-lg md:tw-text-xl tw-bg-red-500 hover:tw-bg-blue-500">
  <!-- -->
</div>

負の値のダッシュ修飾子は、プレフィックスの前に追加する必要があります。そのため、プレフィックスとしてtw-を設定した場合、-mt-8-tw-mt-8になります。

<div class="-tw-mt-8">
  <!-- -->
</div>

プレフィックスは、Tailwindによって生成されたクラスのみに追加されます。**独自の カスタムクラスにはプレフィックスは追加されません。**

つまり、次のように独自のユーティリティを追加した場合

@layer utilities {
  .bg-brand-gradient { /* ... */ }
}

…生成されたバリアントには、設定されたプレフィックスは追加されません。

.bg-brand-gradient { /* ... */ }
.hover\:bg-brand-gradient:hover { /* ... */ }

独自のユーティリティにもプレフィックスを追加する場合は、クラス定義にプレフィックスを追加するだけです。

@layer utilities {
  .tw-bg-brand-gradient { /* ... */ }
}

重要

important オプションを使用すると、Tailwindのユーティリティに!importantを付けるかどうかを制御できます。これは、高い特異性のセレクタを持つ既存のCSSとTailwindを使用する場合に非常に役立ちます。

ユーティリティを!importantとして生成するには、設定オプションでimportantキーをtrueに設定します。

tailwind.config.js
/** @type {import('tailwindcss').Config} */
module.exports = {
  important: true,
}

これで、Tailwindのすべてのユーティリティクラスが!importantとして生成されます。

.leading-none {
  line-height: 1 !important;
}
.leading-tight {
  line-height: 1.25 !important;
}
.leading-snug {
  line-height: 1.375 !important;
}
/* etc. */

これは、@layer utilitiesディレクティブを使用してCSSで定義するカスタムユーティリティにも適用されます。

/* Input */
@layer utilities {
  .bg-brand-gradient {
    background-image: linear-gradient(#3490dc, #6574cd);
  }
}

/* Output */
.bg-brand-gradient {
  background-image: linear-gradient(#3490dc, #6574cd) !important;
}

セレクタ戦略

importanttrueに設定すると、要素にインラインスタイルを追加するサードパーティのJSライブラリを組み込む際に、いくつかの問題が発生する可能性があります。そのような場合、Tailwindの!importantユーティリティはインラインスタイルを無効にするため、意図したデザインが壊れる可能性があります。

これを回避するために、important#appのようなIDセレクタに設定できます。

tailwind.config.js
/** @type {import('tailwindcss').Config} */
module.exports = {
  // ...
  important: '#app',
}

この設定により、すべてのユーティリティに指定されたセレクタがプレフィックスとして追加され、実際には!importantにすることなく、特異性を効果的に高めます。

importantセレクタを指定した後、サイトのルート要素がそれに一致するようにする必要があります。上記の例を使用すると、スタイルを正しく機能させるために、ルート要素のid属性をappに設定する必要があります。

設定がすべて完了し、ルート要素がTailwind設定のセレクタと一致すると、Tailwindのすべてのユーティリティは、プロジェクトで使用されている他のクラスを無効にするのに十分な特異性を持つようになります。**インラインスタイルを干渉することなく**

<html>
<!-- ... -->
<style>
  .high-specificity .nested .selector {
    color: blue;
  }
</style>
<body id="app">
  <div class="high-specificity">
    <div class="nested">
      <!-- Will be red-500 -->
      <div class="selector text-red-500"><!-- ... --></div>
    </div>
  </div>

  <!-- Will be #bada55 -->
  <div class="text-red-500" style="color: #bada55;"><!-- ... --></div>
</body>
</html>

セレクタ戦略を使用する場合は、ルートセレクタを含むテンプレートファイルがコンテンツ設定に含まれていることを確認してください。そうしないと、本番環境向けにビルドする際にすべてのCSSが削除されます。

重要修飾子

あるいは、先頭に!文字を追加することで、任意のユーティリティを重要にすることができます。

<p class="!font-medium font-bold">
  This will be medium even though bold comes later in the CSS.
</p>

!は常にユーティリティ名の先頭に、バリアントの後、プレフィックスの前に置かれます。

<div class="sm:hover:!tw-font-bold">

これは、制御できないスタイルと競合しているため、特異性を高める必要があるまれな状況で役立ちます。

セパレータ

separatorオプションを使用すると、修飾子(画面サイズ、hoverfocusなど)とユーティリティ名(text-centeritems-endなど)を区切るために使用する文字をカスタマイズできます。

デフォルトではコロン(:)を使用していますが、クラス名に特殊文字を使用できないPugなどのテンプレート言語を使用している場合は、これを変更すると便利です。

tailwind.config.js
/** @type {import('tailwindcss').Config} */
module.exports = {
  separator: '_',
}

コアプラグイン

corePluginsセクションでは、プロジェクトで必要ない場合は、Tailwindがデフォルトで生成するクラスを完全に無効にできます。

特定のコアプラグインを無効にするには、それらのプラグインをfalseに設定するオブジェクトをcorePluginsに指定します。

tailwind.config.js
/** @type {import('tailwindcss').Config} */
module.exports = {
  corePlugins: {
    float: false,
    objectFit: false,
    objectPosition: false,
  }
}

有効にするコアプラグインを安全リストに登録する場合は、使用するコアプラグインのリストを含む配列を指定します。

tailwind.config.js
/** @type {import('tailwindcss').Config} */
module.exports = {
  corePlugins: [
    'margin',
    'padding',
    'backgroundColor',
    // ...
  ]
}

Tailwindのコアプラグインをすべて無効にして、独自の カスタムプラグインを処理するためのツールとしてTailwindを使用する場合は、空の配列を指定します。

tailwind.config.js
/** @type {import('tailwindcss').Config} */
module.exports = {
  corePlugins: []
}

参考として、すべてのコアプラグインのリストを以下に示します。

コアプラグイン説明
accentColorThe accent-color ユーティリティ(例: accent-green-800
accessibilitysr-onlyおよびnot-sr-onlyユーティリティ
alignContentThe align-content ユーティリティ(例: content-between
alignItemsThe align-items ユーティリティ(例: items-center
alignSelfThe align-self ユーティリティ(例: self-end
animationThe animation ユーティリティ(例: animate-ping
appearanceThe appearance ユーティリティ(例: appearance-none
aspectRatioThe aspect-ratio ユーティリティ(例: aspect-square
backdropBlurThe backdrop-blur ユーティリティ(例: backdrop-blur-md
backdropBrightnessThe backdrop-brightness ユーティリティ(例: backdrop-brightness-100
backdropContrastThe backdrop-contrast ユーティリティ(例: backdrop-contrast-100
backdropFilterThe backdrop-filter ユーティリティ(例: backdrop-filter
backdropGrayscaleThe backdrop-grayscale ユーティリティ(例: backdrop-grayscale-0
backdropHueRotateThe backdrop-hue-rotate ユーティリティ(例: backdrop-hue-rotate-30
backdropInvertThe backdrop-invert ユーティリティ(例: backdrop-invert-0
backdropOpacityThe backdrop-opacity ユーティリティ(例: backdrop-opacity-50
backdropSaturateThe backdrop-saturate ユーティリティ(例: backdrop-saturate-100
backdropSepiaThe backdrop-sepia ユーティリティ(例: backdrop-sepia-0
backgroundAttachmentThe background-attachment ユーティリティ(例: bg-local
backgroundBlendModeThe background-blend-mode ユーティリティ(例: bg-blend-color-burn
backgroundClipThe background-clip ユーティリティ(例: bg-clip-padding
backgroundColorThe background-color ユーティリティ(例: bg-green-800
backgroundImageThe background-image ユーティリティ(例: bg-gradient-to-br
backgroundOpacitybackground-colorの不透明度ユーティリティ(例: bg-opacity-25
backgroundOriginThe background-origin ユーティリティ(例: bg-origin-padding
backgroundPositionThe background-position ユーティリティ(例: bg-left-top
backgroundRepeatThe background-repeat ユーティリティ(例: bg-repeat-x
backgroundSizeThe background-size ユーティリティ(例: bg-cover
blurThe blur ユーティリティ(例: blur-md
borderCollapseThe border-collapse ユーティリティ(例: border-collapse
borderColorThe border-color ユーティリティ(例: border-e-green-800
borderOpacityborder-colorの不透明度ユーティリティ(例: border-opacity-25
borderRadiusThe border-radius ユーティリティ(例: rounded-ss-lg
borderSpacingThe border-spacing ユーティリティ(例: border-spacing-x-28
borderStyleThe border-style ユーティリティ(例: border-dotted
borderWidthThe border-width ユーティリティ(例: border-e-4
boxDecorationBreakThe box-decoration-break ユーティリティ(例: decoration-clone
boxShadowThe box-shadow ユーティリティ(例: shadow-lg
boxShadowColorThe box-shadow-color ユーティリティ(例: shadow-green-800
boxSizingThe box-sizing ユーティリティ(例: box-border
breakAfterThe break-after ユーティリティ(例: break-after-avoid-page
breakBeforeThe break-before ユーティリティ(例: break-before-avoid-page
breakInsideThe break-inside ユーティリティ(例: break-inside-avoid
brightnessThe brightness ユーティリティ(例: brightness-100
captionSideThe caption-side ユーティリティ(例: caption-top
caretColorThe caret-color ユーティリティ(例: caret-green-800
clearThe clear ユーティリティ(例: clear-left
columnsThe columns ユーティリティ(例: columns-auto
containercontainerコンポーネント
contentThe content content-noneなどのユーティリティ
コントラストThe コントラスト contrast-100などのユーティリティ
カーソルThe カーソル cursor-grabなどのユーティリティ
表示The 表示 table-column-groupなどのユーティリティ
区切り線の色要素間のborder-colorユーティリティ、例:divide-slate-500
区切り線の不透明度The 区切り線の不透明度 divide-opacity-50などのユーティリティ
区切り線のスタイルThe 区切り線のスタイル divide-dottedなどのユーティリティ
区切り線の幅要素間のborder-widthユーティリティ、例:divide-x-2
ドロップシャドウThe ドロップシャドウ drop-shadow-lgなどのユーティリティ
塗りつぶしThe 塗りつぶし fill-green-700などのユーティリティ
フィルターThe フィルター filterなどのユーティリティ
フレックスボックスThe フレックスボックス flex-autoなどのユーティリティ
フレックスベースThe フレックスベース basis-pxなどのユーティリティ
フレックス方向The フレックス方向 flex-row-reverseなどのユーティリティ
フレックス成長The フレックス成長 flex-growなどのユーティリティ
フレックス縮小The フレックス縮小 flex-shrinkなどのユーティリティ
フレックス折り返しThe フレックス折り返し flex-wrap-reverseなどのユーティリティ
フロートThe フロート float-rightなどのユーティリティ
フォントファミリーThe フォントファミリー font-serifなどのユーティリティ
フォントサイズThe フォントサイズ text-3xlなどのユーティリティ
フォントスムージングThe フォントスムージング antialiasedなどのユーティリティ
フォントスタイルThe フォントスタイル italicなどのユーティリティ
フォントバリアント数値The フォントバリアント数値 oldstyle-numsなどのユーティリティ
フォントウェイトThe フォントウェイト font-mediumなどのユーティリティ
強制カラー調整The 強制カラー調整 forced-color-adjust-autoなどのユーティリティ
ギャップThe ギャップ gap-x-28などのユーティリティ
グラデーションカラーストップThe グラデーションカラーストップ via-emerald-700などのユーティリティ
グレースケールThe グレースケール grayscale-0などのユーティリティ
グリッド自動列幅The グリッド自動列幅 auto-cols-minなどのユーティリティ
グリッド自動フローThe グリッド自動フロー grid-flow-denseなどのユーティリティ
グリッド自動行高The グリッド自動行高 auto-rows-minなどのユーティリティ
グリッド列The グリッド列 col-span-6などのユーティリティ
グリッド列終端The グリッド列終端 col-end-7などのユーティリティ
グリッド列開始The グリッド列開始 col-start-7などのユーティリティ
グリッド行The グリッド行 row-span-6などのユーティリティ
グリッド行終端The グリッド行終端 row-end-7などのユーティリティ
グリッド行開始The グリッド行開始 row-start-7などのユーティリティ
グリッドテンプレート列The グリッドテンプレート列 grid-cols-7などのユーティリティ
グリッドテンプレート行The グリッドテンプレート行 grid-rows-7などのユーティリティ
高さThe 高さ h-96などのユーティリティ
色相回転The 色相回転 hue-rotate-30などのユーティリティ
ハイフネーションThe ハイフネーション hyphens-manualなどのユーティリティ
インセットThe インセット end-44などのユーティリティ
反転The 反転 invert-0などのユーティリティ
分離The 分離 isolateなどのユーティリティ
コンテンツの垂直方向の配置The コンテンツの垂直方向の配置 justify-centerなどのユーティリティ
アイテムの水平方向の配置The アイテムの水平方向の配置 justify-items-endなどのユーティリティ
自身の水平方向の配置The 自身の水平方向の配置 justify-self-endなどのユーティリティ
文字間隔The 文字間隔 tracking-normalなどのユーティリティ
行数の制限The 行数の制限 line-clamp-4などのユーティリティ
行の高さThe 行の高さ leading-9などのユーティリティ
リストスタイル画像The リストスタイル画像 list-image-noneなどのユーティリティ
リストスタイル位置The リストスタイル位置 list-insideなどのユーティリティ
リストスタイルタイプThe リストスタイルタイプ list-discなどのユーティリティ
マージンThe マージン me-28などのユーティリティ
最大高さThe 最大高さ max-h-44などのユーティリティ
最大幅The 最大幅 max-w-80などのユーティリティ
最小高さThe 最小高さ min-h-44などのユーティリティ
最小幅The 最小幅 min-w-36などのユーティリティ
混合ブレンドモードThe 混合ブレンドモード mix-blend-hard-lightなどのユーティリティ
オブジェクトフィットThe オブジェクトフィット object-fillなどのユーティリティ
オブジェクトポジションThe オブジェクトポジション object-left-topなどのユーティリティ
不透明度The 不透明度 opacity-50などのユーティリティ
順番The 順番 order-8などのユーティリティ
アウトラインの色The アウトラインの色 outline-green-800などのユーティリティ
アウトラインオフセットThe アウトラインオフセット outline-offset-2などのユーティリティ
アウトラインスタイルThe アウトラインスタイル outline-dashedなどのユーティリティ
アウトラインの幅The アウトラインの幅 outline-2などのユーティリティ
オーバーフローThe オーバーフロー overflow-x-hiddenなどのユーティリティ
オーバースクロール動作The オーバースクロール動作 overscroll-y-containなどのユーティリティ
パディングThe パディング pe-28などのユーティリティ
配置コンテンツThe 配置コンテンツ place-content-betweenなどのユーティリティ
アイテムの配置The アイテムの配置 place-items-centerなどのユーティリティ
自身の配置The 自身の配置 place-self-endなどのユーティリティ
プレースホルダーの色プレースホルダーのcolorユーティリティ、例:placeholder-red-600
プレースホルダーの不透明度プレースホルダーのcolorの不透明度ユーティリティ、例:placeholder-opacity-25
ポインターイベントThe ポインターイベント pointer-events-noneなどのユーティリティ
位置The 位置 absoluteなどのユーティリティ
プリフライトTailwindのベース/リセットスタイル
サイズ変更The サイズ変更 resize-yなどのユーティリティ
リングの色The リングの色 ring-green-800などのユーティリティ
リングオフセットの色The リングオフセットの色 ring-offset-green-800などのユーティリティ
リングオフセットの幅The リングオフセットの幅 ring-offset-2などのユーティリティ
リングの不透明度The リングの不透明度 ring-opacity-50などのユーティリティ
リングの幅The リングの幅 ring-4などのユーティリティ
回転The 回転 rotate-6などのユーティリティ
彩度The 彩度 saturate-100などのユーティリティ
スケールThe スケール scale-x-95などのユーティリティ
スクロール動作The スクロール動作 scroll-autoなどのユーティリティ
スクロールマージンThe スクロールマージン scroll-me-28などのユーティリティ
スクロールパディングThe スクロールパディング scroll-pe-28などのユーティリティ
スクロールスナップ位置合わせThe スクロールスナップ位置合わせ snap-endなどのユーティリティ
スクロールスナップ停止The スクロールスナップ停止 snap-normalなどのユーティリティ
スクロールスナップタイプThe スクロールスナップタイプ snap-yなどのユーティリティ
セピアThe セピア sepia-0などのユーティリティ
サイズThe サイズ size-0.5などのユーティリティ
スキューThe スキュー skew-x-12などのユーティリティ
スペース「space-between」ユーティリティ、例:space-x-4
ストロークThe ストローク stroke-green-700などのユーティリティ
ストロークの幅The ストロークの幅 stroke-1などのユーティリティ
テーブルレイアウトThe テーブルレイアウト table-autoなどのユーティリティ
テキスト配置The テキスト配置 text-rightなどのユーティリティ
テキストの色The テキストの色 text-green-800などのユーティリティ
テキスト装飾The テキスト装飾 overlineなどのユーティリティ
テキスト装飾の色The テキスト装飾の色 decoration-green-800などのユーティリティ
テキスト装飾スタイルThe テキスト装飾スタイル decoration-dottedなどのユーティリティ
テキスト装飾の太さThe テキスト装飾の太さ decoration-4などのユーティリティ
テキストインデントThe テキストインデント indent-28などのユーティリティ
テキストの不透明度The テキストの不透明度 text-opacity-50などのユーティリティ
テキストオーバーフローThe テキストオーバーフロー overflow-ellipsisなどのユーティリティ
テキスト変換The テキスト変換 lowercaseなどのユーティリティ
テキスト下線オフセットThe テキスト下線オフセット underline-offset-2などのユーティリティ
テキスト折り返しThe テキスト折り返し text-nowrapなどのユーティリティ
タッチアクションThe タッチアクション touch-pan-rightなどのユーティリティ
トランスフォームtransformユーティリティ(トランスフォーム機能を有効にするため)
トランスフォームオリジンThe トランスフォームオリジン origin-bottom-rightなどのユーティリティ
トランジション遅延The トランジション遅延 delay-200などのユーティリティ
トランジション時間The トランジション時間 duration-200などのユーティリティ
トランジションプロパティThe トランジションプロパティ transition-colorsなどのユーティリティ
トランジションタイミング関数The トランジションタイミング関数 ease-inなどのユーティリティ
平行移動The 平行移動 translate-x-fullなどのユーティリティ
ユーザー選択The ユーザー選択 select-textなどのユーティリティ
垂直方向の配置The 垂直方向の配置 align-bottomなどのユーティリティ
可視性The 可視性 invisibleなどのユーティリティ
空白The 空白 whitespace-preなどのユーティリティ
The w-2.5などのユーティリティ
変更予定The 変更予定 will-change-scrollなどのユーティリティ
単語の区切りThe 単語の区切り break-wordsなどのユーティリティ
ZインデックスThe Zインデックス z-30などのユーティリティ

複数の設定を使用する

異なるTailwind設定を使用して複数のCSSファイルを生成する必要があるプロジェクトでは、@configディレクティブを使用して、各CSSエントリポイントにどの設定ファイルを使用するかを指定します。

@config "./tailwind.site.config.js";

@tailwind base;
@tailwind components;
@tailwind utilities;

`@config` ディレクティブの詳細については、関数とディレクティブのドキュメントをご覧ください。


JavaScriptでの参照

クライアント側のJavaScriptで設定値を参照すると便利な場合があります。たとえば、ReactやVueコンポーネントでインラインスタイルを動的に適用する場合などに、テーマの値の一部にアクセスできます。

これを容易にするために、Tailwindは設定オブジェクトの完全にマージされたバージョンを生成するために使用できるresolveConfigヘルパーを提供します。

import resolveConfig from 'tailwindcss/resolveConfig'
import tailwindConfig from './tailwind.config.js'

const fullConfig = resolveConfig(tailwindConfig)

fullConfig.theme.width[4]
// => '1rem'

fullConfig.theme.screens.md
// => '768px'

fullConfig.theme.boxShadow['2xl']
// => '0 25px 50px -12px rgba(0, 0, 0, 0.25)'

これは推移的に多くのビルド時依存関係をプルインし、クライアント側のバンドルサイズを大きくすることに注意してください。これを回避するには、babel-plugin-prevalのようなツールを使用して、ビルド時に設定の静的バージョンを生成することをお勧めします。


TypeScript 型

tailwind.config.jsファイルのファーストパーティのTypeScript型を提供しています。これにより、あらゆる種類の便利なIDEサポートが提供され、ドキュメントを参照することなく設定を変更することが容易になります。

Tailwind CLIで生成された設定ファイルには、デフォルトで必要な型アノテーションが含まれていますが、TypeScript型を手動で設定するには、設定オブジェクトの上に型アノテーションを追加するだけです。

tailwind.config.js
/** @type {import('tailwindcss').Config} */
module.exports = {
  content: [
    // ...
  ],
  theme: {
    extend: {},
  },
  plugins: [],
}