Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I've often found that people who are in the frontend don't properly learn CSS and just hack it together. That was me too for a long while which is why I hated it. Then I started learning it from first principles and it makes a lot of sense. Now I can build whatever I need in plain CSS classes.


I've often found that people that want to criticize Tailwind immediately dismiss anyone that likes it as lacking understanding of CSS.

I've been writing CSS since 1997 and tried every fad technique that's come along. Tailwind is the first one that didn't make me dread dealing with CSS.


That's all well and good until you have to maintain it at scale. I'd rather take regular CSS.


I guess you missed the part where I said I have used it successfully on several large codebases?


So have I. So now who's anecdotal evidence wins? It really is what it comes down to, isn't it?


I'm not the one arguing that a particular technique doesn't scale or that its advocates don't know what they're doing.

Of course you can build big things with semantic CSS. You also can with Tailwind.


I'm sure they can in Tailwind, but it hasn't been my experience, and that's what I meant by my rhetorical question, anecdotal evidence doesn't really matter.


This isn't about winning dude.

Some people like Tailwind and find it incredibly helpful.

Some people don't.

Some people actively despise Tailwind.

No one has to 'win'. All these opinions can coexist.


That was the point of my rhetorical question. When comparing anecdotes, no one "wins" because both are unprovable.


Saying people use Tailwind because they don't know CSS well enough is simply untrue. I feel like you don't even want to understand why people actually like Tailwind. It's not like you arguing against it will make us stop using something we love.


Lots of examples of it online of people using Tailwind because they don't know CSS well enough, it's not even debatable when they themselves literally claim that's why they use it.

Even in this thread there are people doing so: https://news.ycombinator.com/item?id=34921960

I understand perfectly well why people like Tailwind. The problem is not initial productivity; indeed, I can write bash scripts too very quickly that make me feel infinitely productive. It's what comes afterwards, the maintenance, the teasing of code written, that Tailwind makes so difficult.

And sure, use what you want, but I won't use it.


Tailwind classes map very directly onto CSS properties and those properties and their values for all tailwind classes are very prominently displayed in the Tailwind documentation. There are going to be some classes that do a bit more for you than set a property, but they're not the majority.


I have a really hard time seeing someone use Tailwind as a shortcut because they don't know CSS. That comment does not say what you think it is. They are not saying they use it because they don't know CSS.

The maintenance is what makes Tailwind awesome. I've written CSS professionally since Internet Explorer 6 and have gone through many different strategies for writing maintainable CSS (BEM, OOCSS, SCSS and multiple different CSS-in-JS methods) but Tailwind is the first time I actually feel relieved of all the issues. To me, it's such an enormous improvement from normal CSS that people arguing against it feels like someone trying to convince me not to use syntax highlighting.


Funny, to me arguing for Tailwind is like arguing for copy pasting code around instead of using functions and classes, which the Tailwind devs literally tell you to do by the way. I mean, when I saw their official recommendation for maintenance of code and reusing styles was to use multiple cursors, I had to laugh out loud.

https://tailwindcss.com/docs/reusing-styles


To me, it seems more like favoring composition of small parts over inheritance of everything.

That's what CSS is, a HUGE inheritance graph, just even more convoluted, because absolutely every "class" is part of the same graph.


If you're not using scoped styles, yes. However, in an apps these days most people use something like CSS modules or CSS in JS which automatically scope styles. Creating classes is to me more of a composable model that still preserves the ability to refactor easily as well as being able to be readable.


The point is that I will never go back to not using syntax highlight, and I'm sure you understand that it would be futile trying to convince me otherwise. I wouldn't take anyone doing that seriously, and similarly I can't take you seriously.

Yes, being able to copypaste self-contained HTML with all styling included and no depedencies is amazing.


That's nice for you. Similarly, I cannot take anything recommending copy pasting code seriously either, and I'm sure you understand that it would be futile trying to convince me otherwise. I wouldn't take anyone doing that seriously, and similarly I can't take you seriously.


The difference here is that we're not trying to force you to use Tailwind. You asked "What is it about everyone using Tailwind?" and we responded, but you refuse to accept our answers and keep arguing that we're uninformed and wrong for using something we love.

Your copy pasting analogy makes no sense because "syntax highlighting" was referring to you trying to convince me to stop using something I can't live without and had nothing to do with Tailwind. Anyway, nothing wrong with copy pasting code and avoid premature abstractions until they are needed. Being religious about DRY and trying to shoehorn subsequent iterations of similar code into an inflexible abstraction leads to unmaintainable monstrosities.


I don't think you understood the analogy in what I was saying. The finality of your statements regarding you being unable to take me seriously is the exact same thing I could say to you, which is why I phrased it the way I did. You like Tailwind, fine, use it. I don't, but don't try to convince me to use it, just like there's no way I could convince you to not use syntax highlighting.


Arguably, html+css is not code though.


Copy pasting text*, then.


No it's more like functional programming with small, single-purpose elements. Semantic CSS is more like object oriented programming with big bloated classes with poorly designed and leaky abstractions.


I'm not sure what type of functional programming you're doing but I've never come across Tailwind like abstraction analogs in Haskell.


Just not possible to use tailwind without a really good grasp of css


¯\_(ツ)_/¯ Take it up with them, I'm not the one saying it's easier than learning CSS.


So you claim that CSS itself is easy to maintain? Because I very much disagree with that.


It is, again, if it's scoped.


CSS makes sense, but it will still f*ck up a completely different page than the one you are working on because that property you changed somehow got tangled with that shitty Angular stylesheet and it was only spotted in prod.


Again, only if you don't work with scoping. On any other React project, we do.


Tailwind only extends on CSS, so I fail to see how one can fail to understand CSS but like Tailwind.


Concepts like cascading aren't really present in Tailwind.


Thank God.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: