As someone who writes a lot of CSS, and actually like CSS (yeah, unheard of, I know; I’m some alien), Tailwind doesn’t just seem like it’s reinventing the wheel and wrapping over an existing language, which is weird when you think about those two being mentioned together, is also bad for other reasons:
- UserCSS becomes near impossible to use
- Web scraping becomes a gigantic mess; LLMs become the only viable solution, and let’s not even get started on how crazy that sounds
- Semantic HTML becomes difficult to verify and build upon due to the sheer amouns of TEXT (and if you go “But you can put your most commonly used declarations together in a class selector and use that!” then congratulations you almost just wrote CSS), and in relation to this…
- It encourages bad CSS practices and thus bad HTML practices, as if the terrible walls of text isn’t already difficult to debug when working for accessibility
- RIP traditional SEO, and thus RIP any small players who want to create and maintain their own search engine, and only large companies with a lot of resources can hire people to spend a fuck ton of time to scrape and index the web. SEO already has a ton of problems as it were, and Tailwind just adds a new dimension to the problem.
If the web industry as a whole could slow down and learn to live with the cascade (seriously, the cascade is your friend!), and stop demanding that we do CSS without the C, that’d be great.
Thanks for walking pass me standing on my soapbox that virtually nobody cares about.
I hear you. I’m not crazy about it either. I use it at work and I get the point: it’s awkward to make CSS respect the encapsulation of component-based reactive frameworks like Vue or React. Tailwind alleviates that. On the other hand the actual HTML/CSS produced is disregarded by all measures except size maybe. It’s yet another layer of abstraction and its necessity is debatable at best.
That’s what I mean though, that the popular frameworks are made to fight the cascade.
Modern web development claims that apps aren’t documents and simply disregarded the cascade as an artifact of document-based design, but they’re entirely wrong IMO. The cascade is made for consistency and tempo of your websites, and that’s a universal design principle irrespective of whether you’re making a website, woodcrafting, pottery, or what have you. Tailwind itself claims to give devs the ability to be consistent, but we already have that, and it’s the cascade.
Managing the cascade is, understandably, non-trivial, especially in a large enough team. It requires discipline and a good understanding of what not to do, and can take time to practice and perfect. So I understand that in our crazy economic world where speed is everything, learning something new is treated as something that’s in the way, and so we churn out devs that aren’t proficient in CSS, and they then come to train other devs, who will also not be proficient in CSS. This all lowers the barrier of entry, which is good when looked at microscopically, but in the grand scheme of things, so much of our energy is put into fighting the cascade. Just think of all the styling solutions for CSS-in-JS frameworks that we’ve churned through in the last 10 years. Madness IMO, but economies gotta economize.
Edit: yeah sorry, I get really passionate about this topic
Maybe I’m old, but I completely agree with you. There is a natural tendency to try reinvent something when you don’t understand it enough to be comfortable with it. Then that new thing lacks the maturity and scrutiny that the old thing went through to survive the test of time. This is basically how overconfident tech bros are transforming the web.
There is a natural tendency to try reinvent something when you don’t understand it enough to be comfortable with it. Then that new thing lacks the maturity and scrutiny that the old thing went through to survive the test of time.
While this is something that does happen, there’s also a tendency for people in the industry to dismiss new things without actually looking into the pros and cons.
Doesn’t it give you pause that many very experienced Frontend & CSS developers see objective advantages in Tailwinds utility class approach? Of course there are also objective disadvantages, don’t get me wrong. But that means that these tools should be used whenever their advantages can shine and their disadvantages don’t cause issues.
Any developer that can’t clearly name the issues with regular CSS that Tailwind attempts to solve either hasn’t been developing long enough to encounter these issues, or hasn’t actually tried to understand what Tailwind is.
Doesn’t it give you pause that many very experienced Frontend & CSS developers see objective advantages in Tailwinds utility class approach?
That is not a good enough reason to justify its existence. You can very well say that fossil fuel companies should continue to exist because look at how long it’s been around with all the expertise people have. Surely they should stay around, right?
Please also see my other comment
https://vger.to/lemmy.ca/comment/20657420
IMO, the industry decided to take the wrong direction, which I would agree makes sense from an economics perspective, but man, all I see is short term gains over long term ones, where we would’ve been able to build better solutions than hacks upon hacks (not using that fully derogatorily tbh). We could’ve spent all that energy, money, and time to bettering CSS and improving education to help people understand the cascade and specificity, while building better, more computationally efficient solutions that would minimize our bundles better and make JS a lot tamer than it is.
But I’m blabbering.
That is not a good enough reason to justify its existence.
There is no better reason to justify the existence of any technology than it having objective advantages, even if there are drawbacks as well!
You can very well say that fossil fuel companies should continue to exist because look at how long it’s been around with all the expertise people have. Surely they should stay around, right?
You’re pretending that I’m making a completely different argument. Don’t do that. I never mentioned “how long it’s been around with all the expertise people have”. There are literal objective advantages. Why are you pretending they don’t exist?
Please also see my other comment
So people should choose a model that decreases development speed & increases complexity as well as the potential for bugs/side effects, just because “it’s the right way to go”. People have been trying to embrace the cascade for a long, long, long time, and it keeps causing issues in larger applications that simply don’t happen with non-cascading approaches.
Why do you pretend like these aren’t real advantages?
I don’t know why you think I haven’t mentioned it’s advantages at all or is trying to paint me as not wanting to acknowledge “plainly obvious advantages”. I literally said that Tailwind is the industry’s current answer to working with CSS in a way that seems to work with the current and modern economic pressures. I have little rally mentioned in my other comment that its advantage is that it’s as an easier to learn, easier to collab tool. Idk what else I’m supposed to say.
You were asked to say the benefits of Tailwind, but instead of saying what the clear benefits are, you are the one who chose to answer by saying that “many industry experts use it”. I thought it was a ridiculous reply, and so I chose to be ridiculous to draw parallels of your logic to justifying for the existence of fossil fuel companies. If you do not understand the concept of similies and hyperbole, I’m sorry I can’t help you there.
And you seem to fail to see the bigger picture of things and simply treated my other comment as a “I claim that this is the right way to go”. I do not claim that it is one, and is merely lamenting on the fact that there was, and emphasis here to help you read, what I thunk was a better way. If you’re going by the metric that economies are efficient if only things can be made quickly, then my comment is pointing out that you are simply trapped by dogma, and is merely being a part to toxic capitalism where it’s a rat race to the bottom of the barrel.
If you think CSS with the C is “slowing down development and is increasing complexity as well as potential for bugs and side effects”, then you are part of the problem. And no, I do not agree that people have “tried to embrace the cascade for a long, long, long time”. What I see instead is that they have simply lived with it because we haven’t gotten to a point where we write SS without the C. Seriously, I still don’t understand that if virtually an entire industry just hates the cascade so much, why haven’t y’all just removed it?
I’m not sure if my message is getting across to you, because it seems like you arr very much happy with the state of things and the direction it’s going at. And you don’t have to spend your energy talking to someone who’s clearly on the minority and losing side of the industry. I’m just some person who happens to like CSS with the C, and enjoy writing CSS so much as it allows me to so concisely describe what I want across an entire application, and is simply lamenting on the fact that we haven’t did much to improve literacy of CSS, thinking that better CSS literacy translates to better engineers. So save your breath and energy pal.
utility classes are just a small step away from style attributes
See, that’s a great example of a critique that nobody with professional experience would make.
Fully agree. Making perfect sense, you are.
Thanks, I hate it
Is it April Fool’s Day already?
Tailwind is shit for anyone who does usercss.





