logoalt Hacker News

azangrulast Saturday at 8:19 PM12 repliesview on HN

> If suddenly CSS became pleasant to use, Tailwind would be in a rough spot.

CSS is pleasant to use. I know I find it pleasant to use; and I know there are quite a few frontend developers who do too. I didn't pay much attention to tailwind, until suddenly I realized that it has spread like wildfire and now is everywhere. What drove that growth? Which groups were the first adopters of tailwind; how did they grow; when did the growth skyrocket? Why did it not stay as niche as, say, htmx?


Replies

ahussainyesterday at 1:30 AM

People like tailwind because it feels like the correct abstraction. It helps you colocate layout and styling, thereby reducing cognitive load.

With CSS you have to add meaningless class names to your html (+remember them), learn complicated (+fragile) selectors, and memorise low level CSS styles.

With tailwind you just specify the styling you want. And if using React, the “cascading” piece is already taken care of.

show 3 replies
daemonologistlast Saturday at 11:09 PM

Imo CSS is not pleasant to use, but Tailwind is at least as bad and furthermore is bad in addition to the CSS badness which it does not fully replace. It is a mystery to me as well how it got so popular.

(I know many people disagree, which is fair enough.)

skybrianlast Saturday at 11:01 PM

Writing CSS manually was never all that pleasant for me, mostly the part about debugging it when it doesn't do what I want.

So I tried Tailwind and it seemed to help.

But now that Claude Opus 4.5 is writing all my code, it can write and debug CSS better than I can use Tailwind. So, CSS it is.

show 2 replies
znnajdlalast Saturday at 8:25 PM

I used plain CSS for more than a decade and felt the benefits of Tailwind within 10 minutes of getting started. What fueled the growth of Tailwind is that it makes web development palpably easier.

show 2 replies
nojslast Saturday at 10:59 PM

> What drove that growth?

It is a natural fit with component-based frontend frameworks like React. You keep the styles with the component instead of having to work in two places. And it’s slightly nicer than writing inline styles.

The core CSS abstraction (separating “content” from “presentation”) was always flimsy but tailwind was the final nail in that coffin.

Then of course LLMs all started using it by default.

show 1 reply
paradox460last Saturday at 11:23 PM

Fe devs who refuse to learn css and instead use tailwind have always struck me as incredibly odd. It's like a carpenter who refuses to use a hammer because they hit their thumb once as an apprentice

I wrote this piece on tailwind a few years back, and little seems to have changed https://pdx.su/blog/2023-07-26-tailwind-and-the-death-of-cra...

show 1 reply
dustingetzyesterday at 12:13 AM

backend devs needing to be fullstack but consider frontend to be beneath them

poor_frogyesterday at 1:22 AM

I'll give my guess - it's because of rhe "fullstack" bullshit.

I am a backend developer. I like being a backend developer. I can of course do more than that, and I do. Monitoring, testing, analysis, metrics, etc.

I can do frontend development, of course I can. But I don't like it, I don't approach it with any measure of care. It's something I "unfortunately have to do because someone who is not a developer thought that declaring everyone should be doing everything was a good idea".

I don't know how to do things properly on the front end, but I definitely can hammer them down to a shape that more or less looks like it should. For me, shit like Bootstrap or Tailwind or whatever is nice. I have to spend less time fiddling with something I think is a waste of my time.

I love working with people that are proper front end developers for that reason, and I always imagined they would prefer things more native such as plain CSS.

gofreddygoyesterday at 5:48 AM

> CSS is pleasant

So is SQL. To me. But some otherwise rational people have an irrational dislike of sql. Almost like someone seeking to seal a small bruise with wire mesh because bandaids are hard to rip off. The consequence shows with poorly implemented schema-free nosql and bloated orm tools mixed in with sql.

But some folks just like it that way. And most reasons boil down to a combination of (1) a myopic solution to a hyper specific usecase or (2) an enterprise situation where you have a codebase written by monkeys with keyboards and you want to limit their powers for good or (3) koolaid infused resume driven development.

show 1 reply
hahahahhaahlast Saturday at 10:16 PM

Is CSS pleasant in teams of fullstack (not CSS specialists)? Not in my experience. It becomes a maze of Chesterton's fences.

show 1 reply
misiryesterday at 12:01 AM

Tailwind is just bootstrap with marketing budget

show 1 reply
kaicianfloneyesterday at 4:15 AM

I haven’t seen this mentioned much, but Tailwind’s rise closely followed a shift away from runtime CSS-in-JS toward build-time, deterministic styling.

Many JSX-era libraries (MUI, styled-components, Emotion) generate styles at runtime, which works fine for SPAs but creates real friction for SSR, streaming, and time-to-first-paint (especially for content-heavy or SEO-sensitive domains).

As frameworks like Next.js, Vue, Svelte, Angular, and now RSC all moved server-first, teams realized they couldn’t scale entire domains as client-only SPAs without performance and crawler issues.

Tailwind aligned perfectly with that shift: static CSS, smaller runtime bundles, predictable output, and zero hydration coupling. It wasn’t about utility classes. It was about build-time certainty in a server-rendered world :)

show 1 reply