Why CSS Spacing Utilities Suck

You ask someone what they do for a living and they reply:

“I’m an officer.”

Naturally, you ask what kind of officer, which department, etc because officer can mean different things. Is it a police officer, tax officer, garbage collection officer?

You need context to figure out what the person meant.

And yet, CSS frameworks encourage things like py-2, fs-4, and so on.

But in what context are those spaces relevant?

If you want to space out the links in your navbar and you say me-1 for each link item, should me-1 apply the same kind of spacing to your section elements in the body?

Spacing utilities ignore all context and apply the same size everywhere.

As a result, you end up building poorly looking user interfaces and can’t unleash your creativity when you want to build something your users will like.

Instead, it’s better to write CSS. Do margin-left: .8rem instead of me-1 and then margin-bottom: 3rem to your section elements.