Hacker Newsnew | past | comments | ask | show | jobs | submit | vazark's commentslogin

IMO, Tailwind is just inline CSS with standardised defaults. I think it found its place because most React devs didn't want to bother with CSS


It is used because UI component frameworks make vanilla CSS an awkward an unnecessary tool (the Cascading part). CSS makes sense as designed for styling a document, but not so much for styling atomic components. If we were designing the web and CSS from scratch around the React model, CSS would not be made to cascade, because that is totally unnecessary and usually leads to more issues than it solves. Apart from theme variables, in a component system there's no reason to have global CSS anywhere; you'd just style each component in isolation. So when in the React model you typically want no cascades at all, the library that is made for that gets popular.

CSS modules are also a solution to the above, but, once you get rid of cascading, and you have one stylesheet per component, it is again unnecessary to have the one stylesheet in a different file from the one component. There's no benefit to splitting a component and its styles into two files; it just makes it more annoying to edit. So we move the styles essentially inline, with either Tailwind or CSS-in-JS.


Thanks for this great explanation of your viewpoint. As an occasional frontend dev who really got into Tailwind, it was always hard for me to explain why I'm so much more productive in Tailwind than in writing CSS. This makes a lot of sense.


It found its place because working on CSS on any non-trivial scale with multiple engineers is painful. The best way to deal with CSS at scale is not to write CSS. And this comes from me who really likes CSS.


CSS was prob great for early web but now it's just a pig with lipstick on


CSS is one of my favourite things to do and still is. However, most engineers don't really understand it because most engineers don't really bother learning anything, and as a result you typically end up with a mess.

If someone knows what they are doing and is allowed to make a decent UI library, you can have very clean, efficient styling without libs.


It's the reverse, the 2026 CSS is one of the most advanced layout engine you can have.


Oh why can't this idea die, it has been continuously debunked for 6 years now. So much so, any TW discussion will reiterate it.


Why would it die? How would it die? The vast majority of Tailwind is literally just shorthand for individual CSS properties.


Because what makes it useful , like media queries, can't be put in style attributes. Frankly this whole discussion is just as silly as claiming flex has nothing over table layout.


flex is not a collection of aliases for <td>s and <tr>s


Then again one should aim to not even need media queries and make things responsive intrinsically, breakpoint-free, continuously. A design where things jump at hard coded viewport widths is not actually a great design.

So at least that part is not so amazing.


This is certainly one of the arguments of all time. Thank you, HN.


>inb4 my 1:1 naive mapping of DB to screen works for me

>inb4 the web should be reserved for text documents and hyperlinks and user styles rule and running anything close to applications on the web was a mistake

>inb4 TUI


Never stop posting, you are doing great.


bro your own website has hard coded viewport widths where things jump


If you were so kind to point out, where I used media queries to hardcode viewport width ... "bro".


Oh ya? Is that why the parent prefaced that obvious and indisputable fact with "IMO"?


> Oh why can't this idea die

People like to feel superior to others, so dunking on people using a popular technology tickles some pleasure centers. Considering another viewpoint gets in the way of that, so other viewpoints are ignored.


It's inline CSS, but with all the limitations of inline styles removed. There is a lot of stuff that can't be done with inline styles, like media queries.


It's inline styles, not online stylesheets. Though yes, inline styles are limited.


It was/is inline styles, not inline CSS. It isn't a stylesheet at all, just a single style property.


That, plus it looks like Forth code

    grid dup 1.0 scale wind-x drop cols-4


I think it is mostly backend dev who don't want to spend time in frontend stuff.


Have they considered providing unconditional support to WINE and releasing a Linux distro?


It is commonly used in dashboards when you want a confirmation dialog


My gripe is the lack of usb 3 / dp-alt support.

Fairphone as a whole feels like a company that prioritises the mission, but only this mission of ethical and reusable hardware. The user experience for power users who are most likely to recommend their devices feels like a let-down.


The problem is, with the access that comes with the real PIN, you can always plant stuff that didn't exist before


Because the goal is two-part

1. Accept quality contributions from someone who understands what they're doing

2. Cultivate a relationship with the contributor who might potentially become a core-team member. Maybe even the next maintainer


The problem is Microsoft, not windows


That's the catch-22 problem. The underlying logic and software rarely care about the platform. They are usually just built Windows because that is the default OS on anything that is not a Mac.


That sounds like Windows Premium, not Lite. The annoying parts are the "features" that modern MS added intentionally


The biggest issue is the lack of tooling and the inability to manage a shared state. We actually ended up creating new libraries like Stencil & Lit.

Custom Elements missed the mark with the problem frameworks solve. We don't necessarily need custom HTML, we needed easy way to build and manage the whole data and visual flow locally while treating the backend response as a datasource.

Nowadays, I use web components for one-off, isolated components as a replacement for iframes, but rarely for anything complex.


This so much, automatic "data struture state -> visual state" without manual synchronization code to update the visual state is the main reason why frameworks are useful, not for components.

BUT, these frameworks are most useful for actual "applications". So much of web development is "merely" focused on making beautiful "pages", and a framework can very well be overkill in those scenarios.

People "going back to basics" really need to learn to evaluate when what you are doing (or how much) falls into each camp.


I have heaps of experience with Stencil and it works great until a certain size indeed. It is a great way to ship web components quickly.

Coding agents will allow us to write plain JS way more quickly but it still takes a bit more time by humans to read compared to reading something that was written with in a framework.

Until the day that I don't have to do reviews of my AI generated code, or some sort of pseudocode abstraction layer becomes available, I think there is still a place for frameworks and libraries to create web components like Stencil.


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

Search: