tailwindcss
ユーティリティファースト
な
CSS
フレームワーク
Tailwind CSS - Rapidly build modern websites without ever leaving your HTML.
CSS in JS
なアプローチではないので、以下のような特徴がある
全てが静的に決定する
単体ではCSSを動的に構築して値を動かすみたいなことはできない
tailwindの色指定をCSS変数でやる
みたいなアプローチはあるが、少し冗長
効率的なデッドコード除去ができる
purgecss
を使って使われていないクラスを除去することが前提になっている
CSS in JS
のクリティカルCSSの抽出でも同じようなことはできるが、
SSR
毎にHTMLからクラス名を探して…みたいなアプローチが多く、計算量的に危うさがある
フレームワークを問わず使える
React
でも
Vue.js
でも
Angular
でも、果てはペライチの
HTML
でも同じように使える
クラス名にユーティリティを指定していく使い方が一般的だが、複雑になってきたら
PostCSS
の機能で
tailwindをCSS Modulesと組み合わせる
ことができる
このとき、
CSSの詳細度
には気を付ける必要がある
セレクタの利用を詳細度を上げないレベルに留める
https://zenn.dev/takepepe/articles/css-always-breaks#「詳細度・dom-概念は無視した方が楽」という選択
あくまで「DOMがStyleを知る」状態を保ったほうがいい