Windプリセット
UnoCSSのためのTailwind CSS / Windi CSS コンパクトプリセットです。
情報
このプリセットは@unocss/preset-mini
を継承しています。
インストール
pnpm add -D @unocss/preset-wind
yarn add -D @unocss/preset-wind
npm install -D @unocss/preset-wind
import presetWind from '@unocss/preset-wind'
import { defineConfig } from 'unocss'
export default defineConfig({
presets: [
presetWind(),
],
})
ヒント
このプリセットはunocss
パッケージに含まれています。そこからインポートすることもできます。
import { presetWind } from 'unocss'
ルール
このプリセットの主な目標は、Tailwind CSS および Windi CSS との互換性を提供することです。完全な互換性は保証されない場合があることに注意してください。詳細な使用方法については、それぞれのドキュメントを参照してください。
このプリセットに含まれるすべてのルールとプリセットについては、インタラクティブドキュメントを参照するか、ソースコードに直接アクセスしてください。
Tailwind CSSとの違い
引用符
エクストラクターの動作方法により、テンプレート(処理対象のファイル)で引用符を使用することはサポートされていません。たとえば、before:content-['']
と書くことはできません。このような場合は、class="before:content-empty"
のように明示的に設定できる新しいユーティリティを導入することをお勧めします。
任意の値を持つbackground-position
Tailwindは、ベア構文を使用してbackground-position
にカスタム値を使用できます。
<div class="bg-[center_top_1rem]">
Windプリセットは、代わりにcenter_top_1rem
を色として解釈します。同じことを行うには、position:
プレフィックスを使用してください。
<div class="bg-[position:center_top_1rem]">
Windi CSSとの違い
ブレークポイント
Windi CSS | UnoCSS |
---|---|
<sm:p-1 | lt-sm:p-1 |
@lg:p-1 | at-lg:p-1 |
>xl:p-1 | xl:p-1 |
ブラケット構文のスペース
このプリセットは、ブラケット構文のスペースを尊重するために、,
の代わりに_
を使用します。
Windi CSS | UnoCSS |
---|---|
grid-cols-[1fr,10px,max-content] | grid-cols-[1fr_10px_max-content] |
一部のCSSルールでは、値の一部として,
が必要になるため、例:grid-cols-[repeat(3,auto)]
実験的機能
警告
このプリセットには、いつでも破壊的な方法で変更される可能性のある実験的機能が含まれています。
メディアホバー
メディアホバーは、スティッキーホバーの問題に対処します。モバイルでホバースタイルを含むターゲットをタップすると、他の場所をタップするまでそのホバースタイルが持続します。
通常の:hover
スタイルは非常に広く使用されている可能性が高いため、バリアントは通常のhover
擬似クラスと区別するために@hover
構文を使用します。
バリアント@hover-text-red
は以下を出力します。
@media (hover: hover) and (pointer: fine) {
.\@hover-text-red:hover {
--un-text-opacity: 1;
color: rgb(248 113 113 / var(--un-text-opacity));
}
}
オプション
情報
このプリセットオプションは@unocss/preset-mini
から継承されています。
important
- **タイプ:**
boolean | string
- **デフォルト:**
false
important
オプションを使用すると、UnoCSSのユーティリティに!important
をマークするかどうかを制御できます。これは、UnoCSSを特異性の高いセレクターを持つ既存のCSSと組み合わせて使用する場合に非常に役立ちます。
警告
このオプションを使用すると、UnoCSSによって生成されるすべてのユーティリティにimportantが適用されます。特定のユーティリティのみに適用する場合は、代わりにimportant:
バリアントを使用できます。
ただし、important
をtrue
に設定すると、要素にインラインスタイルを追加するサードパーティのJSライブラリを組み込む際に問題が発生する可能性があります。このような場合、UnoCSSの!important
ユーティリティはインラインスタイルよりも優先されるため、意図したデザインが壊れる可能性があります。
これを回避するには、importantを#app
のようなIDセレクターに設定します。
import presetWind from '@unocss/preset-wind'
import { defineConfig } from 'unocss'
export default defineConfig({
presets: [
presetWind({
important: '#app',
}),
],
})
この構成では、すべてのユーティリティに指定されたセレクターがプレフィックスとして付けられ、実際に!important
にすることなく、効果的に特異性が高まります。
ユーティリティdark:bg-blue
は以下を出力します。
#app :is(.dark .dark\:bg-blue) {
--un-bg-opacity: 1;
background-color: rgb(96 165 250 / var(--un-bg-opacity));
}