- cross-posted to:
- programmerhumor@lemmy.ml
- programming_horror@programming.dev
- cross-posted to:
- programmerhumor@lemmy.ml
- programming_horror@programming.dev
I am not allowed to credit the site that has this disaster. Its owner said “Nobody should see that”
I’m appalled that classes representing visual styles are still a thing. I thought everyone already figured that it was a bad idea back in bootstrap days. But then I recently had an opportunity to work on project that uses Vuetify and saw quite long poems about flexboxes in class names…
Aren’t classes in CSS supposed to represent visual styles? What else could they be for?
Pretty sure they’re referring to class names describing the visual style being applied, rather than what that class represents semantically.
E.g.
.red-bold
vs..error-text
Oh, that makes sense.
And then came Tailwind…
I know! What a mistake of a framework. Glad my colleagues drummed it out of me.
I gave it a chance for a tiny project but even then it was painful.
Well, there’s not exactly a
classtraining you have to take before writing CSS, so everyone starting out with it gets to make all those same mistakes for themselves before they know how to use classes sensibly. I myself am some backend guy, who has to write CSS far too often.It certainly also does not help that various CSS frameworks out there do exactly that…
Bootstrap (as of v5) being one of them.
div class="d-flex gap-2 my-3 align-items-center flex-nowrap justify-content-between
I was annoyed at this at first, but I’ve since noticed that I write hardly any CSS any more, because most rules really are “just add some space, vertically align, be red”.
Yeah, the reason why people deride it, is because it’s practically equivalent to:
I had to look up what these do, so they might not be precisely correct translations, but hopefully, you get the idea. It’s mostly like using inline styles, and like not using classes.
In some scenarios, these frameworks might simplify certain things, like how
my
applies two CSS rules. And they reduce the visual clutter of inline styling somewhat.But overall, it feels like people are dissatisfied with semantic classes, but don’t want to lead the discussion for using inline styles, so they grab these CSS frameworks to pretend that they’re not using inline styles.
It is fundamentally a difficult discussion to lead, because inline styles feel great, while you’re writing them. They’re less great for maintenance.
But semantic classes definitely have long-term problems, too.
Could argue here that you’re still writing CSS, just cross compiling to it from Bootstrap shortcuts.