Plain CSS, CSS-in-JS, I've tried a fair few things. Tailwind is what gave me the best developer experience.
What I like:
- I stay in my component to style it, no going off to find a stylesheet.
- 5 kB of CSS out of the build.
- The syntax is light.
- No more hunting for the right class names.
- Free autocomplete for VS Code.
- Easy to customize.
The one downside: Tailwind is made for technologies that can create components. That's not much of a problem these days.
Bonus: CVA handles component variants very cleanly, and it pairs well with Tailwind.