DEV Community

Cover image for Vanilla CSS quietly caught up and Tailwind fans haven't noticed.

Vanilla CSS quietly caught up and Tailwind fans haven't noticed.

Aditya Agarwal on July 20, 2026

Last month I removed Tailwind from a side project. And you know what? Nothing broke. That was more unexpected than I had anticipated. The build st...
Collapse
 
abrarulrhythm profile image
Abrarul Rhythm

Interesting perspective. Modern CSS has definitely closed the gap with tools like Tailwind, especially with nesting, :has(), and cascade layers.

I think the bigger shift is not Tailwind **vs Vanilla **CSS, but choosing the right abstraction for the project. For a small app, native CSS can be cleaner and faster. But for larger teams, Tailwind still provides value through consistency, conventions, and faster development.

The best tool is the one that solves the current problem, not the one we are simply used to using.

Collapse
 
leob profile image
leob

Yeah that was what I was wondering about - doesn't Tailwind solve more problems than just the 3 'technical' ones the author mentions - things on a more "conceptual" (or maybe "process") level?

Collapse
 
maxart2501 profile image
Massimo Artizzu

And creates a boatload of other problems too...

Thread Thread
 
leob profile image
leob

As always, use the right tool for the job - good to hear that "vanilla" (JS and CSS) are ever getting better, it gives us options ...

Thread Thread
 
maxart2501 profile image
Massimo Artizzu

In my experience, Tailwind isn't the right tool for basically anything, except fast prototyping. I.e. something that AI now does for you anyway. And even in that case, there are less obtrusive tools for the job.

Thread Thread
 
leob profile image
leob • Edited

The main argument for using Tailwind seems to be (especially in a corporate/team setting) is that it relieves you from the task of designing and setting up a CSS "structure"/architecture (naming, design 'tokens', etc) ...

It's a "standard" which people can drop into a project and run with - everyone in a team (assuming they know Tailwind) will right away be familiar with it ...

That's the main argument in favor of TW - and isn't there something to that?

The argument is not that TW is intrinsically capable of anything which Vanilla CSS isn't ...

It's more that "vanilla" CSS offers more 'degrees of freedom' and less of a baked in 'structure', hence more ways of shooting yourself in the foot and creating an unmaintainable mess (if you don't know what you're doing) ...

I agree that people who "really know what they're doing" probably don't need Tailwind ...

P.S. and yes, AI can probably also set up a good structure (with good naming, design tokens, etc) for you, making the argument for TW less convincing nowadays ...

Collapse
 
nazar-boyko profile image
Nazar Boyko

I might be behind on 37signals news, but weren't Writeboard and Backpack retired years ago? The recent no-build example I know from them is the new Campfire they sell through Once, so I'm curious where the three products and 14,000 lines figure comes from.

Collapse
 
appurist profile image
Paul / Appurist

I don't use Tailwind anymore or anything like it. I don't even use class= or style= anymore. The HTML is more readable if it's just the semantic element name and a directive or two to specify behaviors or appearance like inputs button "styles".

See docs.vitre-ui.com/ which is a simple example of a bit of CSS for standard elements that makes any default HTML side look much better. That site is written using it. NO class=, NO style=, just elements and elements like section, article, aside, nav, header, and footer. You can use it as-is or specify a site.css file that overrides some CSS variables for your preferred colors, etc. Still fairly shallow in options but I've used it on 4 or 5 sites so far.