➗
割り算を頑張らない Tailwind CSS
Tailwind CSS でデフォルトで設定されている、幅、高さ、余白などの Spacing
単位は、1 = 0.25rem = 4px
です。
例えば w-4
が示すのは、width: 1rem
すなわち width: 16px
です。
Figma などのデザインデータを見ると、width: 100px
とか padding: 16px 24px
とか書いてあるわけで、実装時には 4で割る必要があります。
割り算なんかで頭を使いたくありません。ここが個人的に Tailwind CSS の嫌いなところです。
1 = 1px
に
今すぐ tailwind.config.ts
を書き換えましょう。
tailwind.config.ts
export default {
theme: {
spacing: {
...Object.fromEntries(
[...Array(401)].map((_, i) => i).map((num) => [num, `${num}px`]),
// rem なら
// [...Array(401)].map((_, i) => i).map((num) => [num, `${num / 16}rem`]),
),
},
}
} satisfies Config;
これで 0 ~ 400px
まで、px
の数値で指定できるようになりました。
800px
が欲しければ、801
にすればいいだけです。
半端な数値を許可したくない場合
tailwind.config.ts
export default {
theme: {
spacing: {
...Object.fromEntries(
[...Array(101)].map((_, i) => i * 4).map((num) => [num, `${num}px`]),
// rem なら
// [...Array(101)].map((_, i) => i * 4).map((num) => [num, `${num / 16}rem`]),
),
},
}
} satisfies Config;
これで、0 ~ 400px
まで、1 = 1px
を保ちつつ 4px
単位のみクラスを指定できるようになりました。
Discussion