カスタマイズ
Tailwind のインストールの設定とカスタマイズに関するガイドです。
Tailwind はカスタムユーザーインターフェース構築のためのフレームワークであるため、最初からカスタマイズを念頭に置いて設計されています。
デフォルトでは、Tailwind はプロジェクトのルートにあるオプションの `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` ファイルが作成されます。
/** @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 設定でカスタム設定パスを指定する必要があります。
module.exports = {
plugins: {
tailwindcss: { config: './tailwindcss-config.js' },
},
}
または、`@config` ディレクティブを使用してカスタム設定パスを指定できます。
@config "./tailwindcss-config.js";
@tailwind base;
@tailwind components;
@tailwind utilities;
`@config` ディレクティブの詳細については、関数とディレクティブのドキュメントをご覧ください。
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
`-p` フラグを使用すると、`tailwind.config.js` ファイルと同時に基本的な `postcss.config.js` ファイルも生成できます。
npx tailwindcss init -p
これにより、次のような `postcss.config.js` ファイルがプロジェクトに生成されます。
module.exports = {
plugins: {
tailwindcss: {},
autoprefixer: {},
},
}
ほとんどのユーザーにとって、設定ファイルはできるだけ小さく保ち、カスタマイズしたいものだけを指定することをお勧めします。
Tailwind のデフォルト設定全体を含む完全な設定ファイルを足場化したい場合は、`--full` オプションを使用します。
npx tailwindcss init --full
Tailwind が内部的に使用しているデフォルト設定ファイルと一致するファイルが得られます。
`content` セクションでは、すべての HTML テンプレート、JS コンポーネント、および Tailwind クラス名を含むその他のファイルへのパスを設定します。
/** @type {import('tailwindcss').Config} */
module.exports = {
content: [
'./pages/**/*.{html,js}',
'./components/**/*.{html,js}',
],
// ...
}
コンテンツソースの設定の詳細については、コンテンツ設定のドキュメントをご覧ください。
`theme` セクションでは、カラーパレット、フォント、タイプスケール、ボーダーサイズ、ブレークポイントなど、サイトのビジュアルデザインに関するすべてのものを定義します。
/** @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にプラグインを登録できます。
/** @type {import('tailwindcss').Config} */
module.exports = {
// ...
plugins: [
require('@tailwindcss/forms'),
require('@tailwindcss/aspect-ratio'),
require('@tailwindcss/typography'),
require('tailwindcss-children'),
],
}
独自のプラグインの作成については、プラグイン作成ガイドをご覧ください。
presets
セクションでは、Tailwindのデフォルトのベース設定を使用する代わりに、独自の カスタムベース設定を指定できます。
/** @type {import('tailwindcss').Config} */
module.exports = {
// ...
presets: [
require('@acmecorp/base-tailwind-config')
],
// Project-specific customizations
theme: {
//...
},
}
プリセットの詳細については、プリセットドキュメントをご覧ください。
prefix
オプションを使用すると、Tailwindで生成されるすべてのユーティリティクラスにカスタムプレフィックスを追加できます。これは、名前の競合が発生する可能性のある既存のCSSの上にTailwindを重ねる際に非常に役立ちます。
たとえば、tw-
プレフィックスを次のようにprefix
オプションを設定することで追加できます。
/** @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
に設定します。
/** @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;
}
important
をtrue
に設定すると、要素にインラインスタイルを追加するサードパーティのJSライブラリを組み込む際に、いくつかの問題が発生する可能性があります。そのような場合、Tailwindの!important
ユーティリティはインラインスタイルを無効にするため、意図したデザインが壊れる可能性があります。
これを回避するために、important
を#app
のようなIDセレクタに設定できます。
/** @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
オプションを使用すると、修飾子(画面サイズ、hover
、focus
など)とユーティリティ名(text-center
、items-end
など)を区切るために使用する文字をカスタマイズできます。
デフォルトではコロン(:
)を使用していますが、クラス名に特殊文字を使用できないPugなどのテンプレート言語を使用している場合は、これを変更すると便利です。
/** @type {import('tailwindcss').Config} */
module.exports = {
separator: '_',
}
corePlugins
セクションでは、プロジェクトで必要ない場合は、Tailwindがデフォルトで生成するクラスを完全に無効にできます。
特定のコアプラグインを無効にするには、それらのプラグインをfalse
に設定するオブジェクトをcorePlugins
に指定します。
/** @type {import('tailwindcss').Config} */
module.exports = {
corePlugins: {
float: false,
objectFit: false,
objectPosition: false,
}
}
有効にするコアプラグインを安全リストに登録する場合は、使用するコアプラグインのリストを含む配列を指定します。
/** @type {import('tailwindcss').Config} */
module.exports = {
corePlugins: [
'margin',
'padding',
'backgroundColor',
// ...
]
}
Tailwindのコアプラグインをすべて無効にして、独自の カスタムプラグインを処理するためのツールとしてTailwindを使用する場合は、空の配列を指定します。
/** @type {import('tailwindcss').Config} */
module.exports = {
corePlugins: []
}
参考として、すべてのコアプラグインのリストを以下に示します。
コアプラグイン | 説明 |
---|---|
accentColor | The accent-color ユーティリティ(例: accent-green-800 ) |
accessibility | sr-only およびnot-sr-only ユーティリティ |
alignContent | The align-content ユーティリティ(例: content-between ) |
alignItems | The align-items ユーティリティ(例: items-center ) |
alignSelf | The align-self ユーティリティ(例: self-end ) |
animation | The animation ユーティリティ(例: animate-ping ) |
appearance | The appearance ユーティリティ(例: appearance-none ) |
aspectRatio | The aspect-ratio ユーティリティ(例: aspect-square ) |
backdropBlur | The backdrop-blur ユーティリティ(例: backdrop-blur-md ) |
backdropBrightness | The backdrop-brightness ユーティリティ(例: backdrop-brightness-100 ) |
backdropContrast | The backdrop-contrast ユーティリティ(例: backdrop-contrast-100 ) |
backdropFilter | The backdrop-filter ユーティリティ(例: backdrop-filter ) |
backdropGrayscale | The backdrop-grayscale ユーティリティ(例: backdrop-grayscale-0 ) |
backdropHueRotate | The backdrop-hue-rotate ユーティリティ(例: backdrop-hue-rotate-30 ) |
backdropInvert | The backdrop-invert ユーティリティ(例: backdrop-invert-0 ) |
backdropOpacity | The backdrop-opacity ユーティリティ(例: backdrop-opacity-50 ) |
backdropSaturate | The backdrop-saturate ユーティリティ(例: backdrop-saturate-100 ) |
backdropSepia | The backdrop-sepia ユーティリティ(例: backdrop-sepia-0 ) |
backgroundAttachment | The background-attachment ユーティリティ(例: bg-local ) |
backgroundBlendMode | The background-blend-mode ユーティリティ(例: bg-blend-color-burn ) |
backgroundClip | The background-clip ユーティリティ(例: bg-clip-padding ) |
backgroundColor | The background-color ユーティリティ(例: bg-green-800 ) |
backgroundImage | The background-image ユーティリティ(例: bg-gradient-to-br ) |
backgroundOpacity | background-color の不透明度ユーティリティ(例: bg-opacity-25 ) |
backgroundOrigin | The background-origin ユーティリティ(例: bg-origin-padding ) |
backgroundPosition | The background-position ユーティリティ(例: bg-left-top ) |
backgroundRepeat | The background-repeat ユーティリティ(例: bg-repeat-x ) |
backgroundSize | The background-size ユーティリティ(例: bg-cover ) |
blur | The blur ユーティリティ(例: blur-md ) |
borderCollapse | The border-collapse ユーティリティ(例: border-collapse ) |
borderColor | The border-color ユーティリティ(例: border-e-green-800 ) |
borderOpacity | border-color の不透明度ユーティリティ(例: border-opacity-25 ) |
borderRadius | The border-radius ユーティリティ(例: rounded-ss-lg ) |
borderSpacing | The border-spacing ユーティリティ(例: border-spacing-x-28 ) |
borderStyle | The border-style ユーティリティ(例: border-dotted ) |
borderWidth | The border-width ユーティリティ(例: border-e-4 ) |
boxDecorationBreak | The box-decoration-break ユーティリティ(例: decoration-clone ) |
boxShadow | The box-shadow ユーティリティ(例: shadow-lg ) |
boxShadowColor | The box-shadow-color ユーティリティ(例: shadow-green-800 ) |
boxSizing | The box-sizing ユーティリティ(例: box-border ) |
breakAfter | The break-after ユーティリティ(例: break-after-avoid-page ) |
breakBefore | The break-before ユーティリティ(例: break-before-avoid-page ) |
breakInside | The break-inside ユーティリティ(例: break-inside-avoid ) |
brightness | The brightness ユーティリティ(例: brightness-100 ) |
captionSide | The caption-side ユーティリティ(例: caption-top ) |
caretColor | The caret-color ユーティリティ(例: caret-green-800 ) |
clear | The clear ユーティリティ(例: clear-left ) |
columns | The columns ユーティリティ(例: columns-auto ) |
container | container コンポーネント |
content | The 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で設定値を参照すると便利な場合があります。たとえば、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のようなツールを使用して、ビルド時に設定の静的バージョンを生成することをお勧めします。
tailwind.config.js
ファイルのファーストパーティのTypeScript型を提供しています。これにより、あらゆる種類の便利なIDEサポートが提供され、ドキュメントを参照することなく設定を変更することが容易になります。
Tailwind CLIで生成された設定ファイルには、デフォルトで必要な型アノテーションが含まれていますが、TypeScript型を手動で設定するには、設定オブジェクトの上に型アノテーションを追加するだけです。
/** @type {import('tailwindcss').Config} */
module.exports = {
content: [
// ...
],
theme: {
extend: {},
},
plugins: [],
}