It will (hopefully) come as no surprise that I found myself nodding vigorously throughout this excellent article by Elaina, which shines a light on some of the reasons that CSS tooling can leave a bitter taste.
I've come to accept that frameworks and tools like Tailwind do have genuine use cases and advantages, which I often find myself discussing (and even defending) in online discourse. But I frequently find myself encountering rhetoric that broadly states that "X tool is better than CSS" and I can't disagree with that more. As Elaina says, not every web developer needs to understand the nuances of CSS (as not every web developer needs to understand the nuances of GraphQL, or React, or ARIA). There are a lot of skills nested within "web developer". But web development teams seem to be okay deprioritising (or actively ignoring) a need for some expertise in CSS, where other technologies are prioritised, and I've always felt these issues all stem from the same root cause: CSS just isn't seen as a valuable skill, and that's just silly (and, yes, likely more than a little sexist).
Best of all, Elaina's summed this all up in much clearer language than I could have ever managed! (see above 😂)
On the result of non-CSS developers needing to understand CSS and becoming frustrated with it, rather than taking the time to learn it:
Those “fixes” manifested as CSS-in-JS, Material, Bootstrap, and Tailwind, to name a few. [...] These frameworks aren’t inherently bad. They lower the barrier to actually put working CSS on a website. They’re especially handy when it comes to rapid prototyping; spinning up basic UI has never been easier. The API-like patterns are familiar to many developers.
On the danger of relying on CSS shortcuts, like frameworks:
The important bit is that they hinder deep learning of CSS.
On how CSS being seen as somehow "inferior" results in more space for traditionally marginalised groups:
There are surely plenty of people of marginalized gender experience in all programming spaces, but they don’t have as much opportunity to surface new ideas. CSS is only allowed some slight breathing room simply because other programmers don’t even consider it to be part of web development.
On the core premise:
So when it comes down to the root of the problem, perhaps it isn’t CSS itself but our unwillingness to examine our sexist ideas of what is worthy in web development.