Hacker News new | ask | show | jobs
by pupppet 1298 days ago
My best argument against it is whatever the learning curve, you're better served just spending that time learning to write CSS instead.
4 comments

My understanding of CSS has gotten a lot better from using Tailwind.
Same here. The CSS that each Tailwind class corresponds to is very visible in the documentation itself.
Have you reached a stage where you no longer feel its a good idea or are you sticking with it?

I considered using it for a few projects but once I start I feel it too much work with no payoff.

This has been my experience as well. Tailwind is a good pair of support wheels, but it gets annoying after a while, and is difficult to maintain long-term.
What make it difficult to main long term for you?
It's not a replacement for CSS, it's an extension of it.

You shouldn't use Tailwind if you don't already know CSS.

I'd be very surprised if there are many devs with a deep understanding of CSS using Tailwind.
I'm sorry but this is just a crazy thing to say. You cannot use Tailwind without understanding CSS.

Take the example `block`. Ok so a junior FE dev is supposed to use this class without understanding CSS? How?! It just maps to `display: block;`. It hides literally none of the complexity.

I don't agree with the parent poster, but I would say that there is a large portion of frontend devs that "don't understand css" at a very deep level. For every 1 that does there are a good 9 or 10 that just get enough to get by.

That said -- you need to know the average amount of CSS to be successful using tailwind.

>It hides literally none of the complexity.

If it didn't hide any of complexity you'd be writing CSS.

Nope, it saves me (a) keystrokes and (b) design effort. The restricted subset of color options, for example, lets me use a predictable color system out of the box without having to think about it. It's not about removing "complexity" in the sense of understanding how CSS works.
With a stylesheet you have the styles in one place, with Tailwind you repeat it on every element. Yes components and copy/paste are a thing but I'd be very surprised if you're having to manage less style code with Tailwind. As for design effort, setup a few primary/secondary accent colors as global variables.
Well... you can bumble through using tailwind without understanding it much in the same way you can bumble through using CSS without understanding it much.

There are plenty of people bumbling through with both.

But understanding the CSS is needed to use it reasonably well.

I'll give you an example of one:

Adam Wathan, the creator of Tailwind

Hard disagree on that one. You can learn Tailwind in an evening.
When you pick up tailwind, you will automatically learn vanilla CSS along the way.
I like Tailwind, but I am not sure I'd recommend it to someone without prior experience and deep understanding of CSS. In my opinion, abstractions rarely teach us the underlying layers of a technology.
> I like Tailwind, but I am not sure I'd recommend it to someone without prior experience and deep understanding of CSS. In my opinion, abstractions rarely teach us the underlying layers of a technology.

I started with Tailwind and as I learned CSS along the way. Obviously people will look up stuff on MDN when they are stumbling on terms they didn't know about.

The tailwind docs + tw-intellisense plugin [1] are pretty good, too. Especially since the extension shows the raw CSS behind the abstraction when you hover over a class name.

[1] https://marketplace.visualstudio.com/items?itemName=bradlc.v...