It's been 15-20 years since I last saw that.
There are tons of solutions on how to easily organize CSS code these days that don't involve TW.
For what its worth, I had the same experience with Tailwind. I regularly see classes that don't have an meaningful outcome.
I don't think the problem is Tailwind or CSS (well, I guess Tailwind is CSS with extra steps but you get the idea) syntax (or any of the CSS preprocessors), but the fact that styling in browsers has accumulated a lot of cruft, and people who haven't "grown up" with it over the years don't fully understand it (I am more competent than most with it and there's still times I screw up).
One thing that's kinda nice about Tailwind is that it made copy-pasting components easier. So people can get something decent without fully understanding what's happening
You mean custom classes?
Just sharing that the root cause is most developers don’t want to pick up an additional syntax when they already have the fundamentals
The main problem is the premise of tailwind
Every single web design on earth is a compound opinion on like a few hundred popular properties and values
They put all that in one style sheet
Which became the one style sheet on earth
Which made it possible to summon all those styles directly from within our apps
Tailwind is like the chess of utilities. There’s only so many opening and closing moves that running a business on it is incredibly difficult, given supply and demand.
IF then already have the fundamentals. What I see is that more and more developers don't know CSS at all or very little; they only use Tailwind and haven’t worked with CSS extensively before.
Inline style is the thing. That's what tailwind is enabling in a readable way. And inlined style is what makes style more maintainable and less susceptible to override rot.
The separation between form and function is always a bit illusionary, but particularly so with CSS. Almost all markup is written to look a specific way, not a configurable way.
I’m a contributor to this.
I’ve been CSS since the mid 2000s and I have a lot of it memorized by heart.
My team uses tailwind, therefore I use tailwind
But I don’t want to reconfigure my mental model to think in esoteric shorthand, when I already have vanilla web tech memorized.
So I just write some code to match the design and then I let an llm transform it into what my team expects.
I’m sharing in the hopes that the tailwind team can figure out a middle ground because I think a service that can take any valid styled content and output the same result in tailwind would be a niche small language model that solves the use case for why I don’t go to the docs.