Tailwind CSSはオープンソースのCSS フレームワークです。Bootstrap などの他のフレームワークとは異なり、ボタンやテーブルなどの要素に対して一連の定義済みクラスを提供しません。代わりに、組み合わせて各要素のスタイルを設定するために使用できる「ユーティリティ」 CSS クラスのリストを作成します。[ 5 ] [ 6 ]
例えば、他の従来型のシステムでは、黄色の背景色と太字のテキストを適用するクラスがあります。Tailwind でこの結果を実現するには、ライブラリによって作成された一連のクラス、およびmessage-warningを適用する必要があります。bg-yellow-300font-bold
ユーティリティファーストの概念は、Tailwind の主な差別化機能を指します。[ 8 ]コンポーネント (ボタン、パネル、メニュー、テキストボックスなど) を中心にクラスを作成する代わりに、特定のスタイル要素 (黄色、太字フォント、非常に大きなテキスト、中央要素など) を中心にクラスが構築されます。これらのクラスはそれぞれユーティリティクラスと呼ばれます。
Tailwind CSSには、色、境界線、表示タイプ(display)、フォント、フォントサイズ、レイアウト、影など、多数のCSSプロパティを制御できるユーティリティクラスが多数あります。
Tailwind では、メディアクエリを介して特定の状況でのみユーティリティ クラスを適用する機能が提供されており、これをバリアントと呼びます。バリアントの主な用途は、さまざまな画面サイズに対応したレスポンシブ インターフェイスを設計することです。 [ 9 ]また、要素が持つことができるさまざまな状態、たとえばhover:ホバー時、focus:キーボード選択時、active:使用中[ 10 ]、またはブラウザやオペレーティングシステムでダーク モードが有効になっている場合[ 11 ]などにもバリアントがあります。
バリアントは、満たすべき条件と、その条件が満たされた場合に適用されるクラスの 2 つの部分から構成されます。たとえば、バリアントは、画面サイズが に定義された値以上である場合にmd:bg-yellow-400クラスを適用します。bg-yellow-400md
Tailwind CSS はJavaScriptを使用して開発され、Node.jsを介して実行され、npmやyarnなどの環境パッケージマネージャーを使用してインストールされます。[ 12 ]
Tailwindが提供するユーティリティクラスとバリアントは、通常 という名前の設定ファイルを使用して構成できますtailwind.config.js。この設定では、カラーパレットやマージンのための要素間のサイズなど、ユーティリティクラスの値を設定できます。
Tailwindのデフォルトモードでは、プロジェクト設定に基づいて考えられるすべてのCSSの組み合わせが生成されます。その後、PurgeCSSなどの別のユーティリティを使用してすべてのファイルが走査され、使用されていないクラスが生成されたCSSファイルから削除されます。
バリアントの数とその組み合わせによって生成されるクラスの数が多いため、この方法は、パージされるまでに長い待ち時間と大きなサイズの CSS ファイルが発生するという欠点があります。この動作モードは、Tailwind CSS のバージョン 3 では利用できなくなりました。[ 13 ]
JITモード(ジャストインタイム)は、CSSを生成する代替手段であり、すべての可能なクラスを生成してから使用されていないクラスをすべて削除する(ツリーシェイキング技術)代わりに、HTML、 JSX、Vueファイル(または設定された拡張子や場所)の内容を解析し、必要とされ使用されているクラスのみを即座に生成します。
JITは必要なCSSのみを生成することで、CSSファイルのサイズを削減します。この技術的な改善により、多数の新しいバリアントやユーティリティクラスを導入できるようになっただけでなく、設定で指定されていない任意の値(例:`<img>`、`<img>`)を使用して、実行時にユーティリティクラスを作成できるようになりまし w-[137px]たbg-[#1da1f2]。
Tailwind CSS のバージョン 3 以降、JIT モードがデフォルトになりました。[ 13 ]
Tailwind CSSは、セマンティックバージョニングを使用してバージョン互換性を識別します。