Tailwind CSS 設定
Tailwind CSS のコア設定ファイルは次のとおりですtailwind.config.js。
tailwind.config.js は Tailwind CSS の設定ファイルであり、Tailwind のデフォルト設定をカスタマイズするために使用します。
tailwind.config.js ファイルを変更することで、開発者は色、間隔、フォント、ブレークポイントなどのデザインシステムをカスタマイズし、特定のプロジェクトのニーズを満たすことができます。
設定ファイルの作成
Tailwind CSS の CLI ツールを使用すると、基本的な tailwind.config.js ファイルをすばやく生成できます。
プロジェクトのルートディレクトリで次のコマンドを実行します:
npx tailwindcss init
これにより、基本設定を含む tailwind.config.js ファイルが作成されます。
基本構造
以下は、典型的な tailwind.config.js ファイルの構造です:
例
module.exports = {
content: ["./src/**/*.{html,js,vue}"], // スキャンするテンプレートファイルのパスを定義
theme: {
extend: {}, // カスタム拡張
},
plugins: [], // プラグインの設定
}
上記のコードは、Tailwind CSS に src ディレクトリ内のすべての .html、.js、.vue ファイルをスキャンするように指示します。
主な設定項目
1、テンプレートパスの設定:content
tailwind.config.js ファイルでは、content オプションは、Tailwind CSS がクラス名を収集するためにどのファイルをスキャンするかを指定するために使用します。content: [
"./index.html", // 单文件路径
"./src/**/*.{html,js,ts,jsx,tsx}", // 包含多个文件类型的路径
],
これは、Tailwind CSS に src ディレクトリ内のすべての .html、.js、.ts\.jsx、.tsx ファイルをスキャンするように指示します。
content フィールドは、Tailwind のテンプレートファイルパスを指定するために使用します。Tailwind はこれらのファイルをスキャンして必要なスタイルを生成し、生成される CSS ファイルのサイズを削減します。テンプレートファイルで使用されているスタイルのみを生成し、未使用のスタイルが最終出力にコンパイルされるのを防ぎます。
2、テーマのカスタマイズ:theme
theme セクションでは、色、フォント、間隔、ボーダーのサイズなどを定義できます。
たとえば、デフォルトの色を拡張したり、新しい色を追加したりできます:
theme: {
extend: {
colors: {
cyan: '#9CDBFF',
}
}
}これにより、cyan という名前の新しい色が追加され、プロジェクト内で bg-cyan のようなクラス名を使用できます。
| 設定項目 | 説明 | 例 |
|---|---|---|
fontSize | フォントサイズのカスタマイズ | javascript fontSize: { 'xs': '0.75rem', '4xl': '2.5rem', }, |
screens | ブレークポイントの定義(レスポンシブデザイン) | javascript screens: { 'sm': '640px', 'xl': '1280px', }, |
borderRadius | 角丸のカスタマイズ | javascript borderRadius: { 'lg': '1rem', 'xl': '1.5rem', }, |
extend | 既存のデフォルト値の拡張 | javascript extend: { colors: { danger: '#FF5A5F', }, }, |
例
extend: {
colors: {
primary: '#1D4ED8',
secondary: '#64748B',
},
spacing: {
18: '4.5rem', // 4.5rem の間隔を追加
},
fontSize: {
'4xl': '2.5rem',
},
borderRadius: {
'xl': '1.5rem',
},
screens: {
'2xl': '1536px', // 新しいレスポンシブブレークポイントを追加
},
},
}
theme.colors を使用して色を定義し、スタイル内で参照します。
theme: {
extend: {
colors: {
brand: {
light: '#93C5FD',
DEFAULT: '#3B82F6',
dark: '#1E40AF',
},
},
},
}
darkMode を使用して Tailwind のダークモードサポートを有効にします。
module.exports = {
darkMode: 'class', // 或 'media'
theme: {
extend: {
colors: {
background: {
light: '#FFFFFF',
dark: '#000000',
},
},
},
},
}
例
Dark Mode Example
</div>
3、バリアントの設定:variants
variants オプションを使用すると、どの状態(hover、focus など)を最終的な CSS に含めるかを定義できます。
デフォルトのバリアントを拡張または上書きできます:
variants: {
extend: {
borderColor: ['focus-visible'],
opacity: ['disabled'],
}
}
4、プラグインの使用:plugins
plugins オプションを使用すると、カスタムユーティリティクラスを追加できます。
これらのプラグインは、Tailwind CSS 公式が提供するものか、コミュニティが作成したもののいずれかです。形式は次のとおりです:
plugins: [
require('some-tailwindcss-plugin')
]
プラグイン使用の例:
例
module.exports = {
plugins: [
plugin(function ({ addUtilities }) {
addUtilities({
'.text-shadow': {
textShadow: '2px 2px 4px rgba(0,0,0,0.5)',
},
});
}),
],
}
コミュニティプラグインの導入:
例
plugins: [
require('@tailwindcss/forms'), // フォームスタイルプラグイン
require('@tailwindcss/typography'), // タイポグラフィプラグイン
],
}
Tailwind CSS 設定
デフォルトでは、Tailwind はプロジェクトのルートディレクトリで tailwind.config.js ファイルを探します。このファイルに必要な設定情報を記述できます:
例
module.exports = {
// Tailwind CSS がどのファイルからクラス名を抽出するかを指定します。ここでは `./src` ディレクトリ内のすべての `.html` と `.js` ファイルから抽出するように設定しています。
content: ['./src/**/*.{html,js}'],
theme: {
// カスタムカラー設定
colors: {
'blue': '#1fb6ff', // 'blue' という名前の色を定義。値は #1fb6ff
'purple': '#7e5bef', // 'purple' という名前の色を定義。値は #7e5bef
'pink': '#ff49db', // 'pink' という名前の色を定義。値は #ff49db
'orange': '#ff7849', // 'orange' という名前の色を定義。値は #ff7849
'green': '#1370CE', // 'green' という名前の色を定義。値は #1370CE
'yellow': '#ffc82c', // 'yellow' という名前の色を定義。値は #ffc82c
'gray-dark': '#273444', // 'gray-dark' という名前の色を定義。値は #273444
'gray': '#8492a6', // 'gray' という名前の色を定義。値は #8492a6
'gray-light': '#d3dce6' // 'gray-light' という名前の色を定義。値は #d3dce6
},
// カスタムフォントファミリー設定
fontFamily: {
sans: ['Graphik', 'sans-serif'], // 'sans' という名前のフォントファミリーを定義。'Graphik' と汎用の 'sans-serif' を含みます
serif: ['Merriweather', 'serif'] // 'serif' という名前のフォントファミリーを定義。'Merriweather' と汎用の 'serif' を含みます
},
// カスタム拡張設定
extend: {
// カスタム間隔の拡張
spacing: {
'8xl': '96rem', // '8xl' という名前の間隔を定義。値は 96rem
'9xl': '128rem' // '9xl' という名前の間隔を定義。値は 128rem
},
// カスタム角丸の拡張
borderRadius: {
'4xl': '2rem' // '4xl' という名前の角丸を定義。値は 2rem
}
}
},
}
次の表に、tailwind.config.js ファイルの設定オプションと使用説明を示します:
| 設定項目 | 説明 | デフォルト値 | 例 |
|---|---|---|---|
| content | Tailwind CSS がスキャンするテンプレートファイルのパスを設定し、未使用のスタイルを削除するために使用します。 | ['./src/**/*.{html,js,ts,jsx,tsx}'] | content: ["./src/**/*.html", "./src/**/*.vue"] |
| theme | 色、間隔、フォントなどを含む Tailwind のデフォルトのデザインシステムを定義および拡張するために使用します。 | extend: {} | theme: { colors: { primary: '#3490dc' } } |
| extend | Tailwind のデフォルト設定項目を上書きするのではなく、拡張するために使用します。 | {} | extend: { colors: { primary: '#3490dc' } } |
| screens | レスポンシブブレークポイントを設定し、特定のスタイルをいつ適用するかを決定します。 | { sm: '640px', md: '768px', lg: '1024px', xl: '1280px' } | screens: { '2xl': '1536px' } |
| colors | カラーパレットをカスタマイズまたは拡張します。 | デフォルトでは一連の色が提供されます。例:blue, red, green 等 | colors: { primary: '#1D4ED8', secondary: '#64748B' } |
| spacing | 内側と外側の余白を設定(p, m, pt, mtなど)。 | デフォルトでは単位が提供されます。例:0.5rem, 1rem, 2rem 等 | spacing: { 18: '4.5rem' } |
| fontFamily | フォントファミリーをカスタマイズします。 | 'sans', 'serif', 'mono' | fontFamily: { sans: ['Inter', 'sans-serif'] } |
| fontSize | フォントサイズをカスタマイズします。 | 'sm': '0.875rem', 'lg': '1.125rem' | fontSize: { '4xl': '2.5rem' } |
| fontWeight | フォントの太さをカスタマイズします。 | 'normal', 'bold', 'bolder', 'lighter' | fontWeight: { 'light': '300', 'bold': '700' } |
| lineHeight | 行の高さを設定します。 | 'none': '1', 'tight': '1.25', 'normal': '1.5', 'loose': '2' | lineHeight: { 'relaxed': '1.75', 'loose': '2' } |
| borderRadius | 角丸の半径を設定します。 | 'none': '0px', 'sm': '0.125rem', 'md': '0.375rem', 'lg': '0.5rem' | borderRadius: { 'xl': '1.5rem' } |
| borderWidth | ボーダーの幅を設定します。 | { default: '1px', '0': '0', '2': '2px' } | borderWidth: { '3': '3px' } |
| zIndex | 設定z-index階層。 | { '0': '0', '10': '10', '20': '20' } | zIndex: { 'max': '9999' } |
| opacity | 透明度の値を設定します。 | { '0': '0', '25': '0.25', '50': '0.5', '75': '0.75', '100': '1' } | opacity: { '40': '0.4' } |
| boxShadow | ボックスシャドウを設定します。 | { sm: '0 1px 2px 0 rgba(0, 0, 0, 0.05)', default: '0 4px 6px rgba(0, 0, 0, 0.1)'} | boxShadow: { 'lg': '0 10px 15px -3px rgba(0, 0, 0, 0.1)' } |
| container | コンテナの最大幅を設定します(レスポンシブデザイン用)。 | { center: false, padding: '2rem' } | container: { center: true, padding: '1rem' } |
| aspectRatio | 要素のアスペクト比を設定します。 | { 'none': 'none' } | aspectRatio: { '16/9': '16/9' } |
| gridTemplateColumns | CSS Grid の列テンプレートを設定します。 | { auto: 'auto', '1fr': '1fr' } | gridTemplateColumns: { 'layout': 'repeat(3, 1fr)' } |
| gridColumn | Grid アイテムのカラムスパン動作を設定します。 | { 'span-1': 'span 1 / span 1' } | gridColumn: { 'span-2': 'span 2 / span 2' } |
| transitionProperty | トランジションプロパティを設定します。 | { all: 'all' } | transitionProperty: { 'color': 'color' } |
| transitionDuration | トランジションの継続時間を設定します。 | { 75: '75ms', 150: '150ms', 300: '300ms' } | transitionDuration: { '400': '400ms' } |
| transitionTimingFunction | トランジション時のタイミングファンクション(遷移関数)を設定します。 | { 'ease': 'ease', 'linear': 'linear' } | transitionTimingFunction: { 'ease-out': 'ease-out' } |
tailwind.config.js を使用すると、Tailwind CSS の機能とスタイルを簡単にカスタマイズし、さまざまなデザインニーズに対応できます。拡張(extend)、プラグイン(plugins)、テーマ設定(theme)などの機能を適切に活用することで、プロジェクトの開発効率とスタイルの柔軟性を大幅に向上させることができます。
その他の拡張