not sure if this opinion will be popular, but I don't typically use any css or javascript frameworks for my personal projects anymore. Can't have supply chain vulnerabilities if you have no dependencies! Of course that's only one type of vulnerability but it helps.
I'm also back to a fairly vanilla HTML/CSS/JS, sprinkled with hand-rolled stuff. It's a combination of framework fatigue, npm audit overload, and the fact that with LLMs I don't have to care anymore about what other people think about the implementation (eg. Why are you not using React and Tailwind?).
I mean, yeah — this is how CSS works. People not knowing this and blindly using Tailwind make me want to step outside and yell at clouds for a while. To me, 90% of Tailwind is just inline styles with different syntax — it's arguably just one step above <FONT> tags.
I’m not sure what your goals are with this comment, but I can say that in almost 8 years of using Tailwind I read a countless number of comments like this one dismissing Tailwind users and none of them helped me in any way to move off of it or to improve my CSS skills.
this blog post is me explaining what I actually needed to know.
I don't think being frustrated that people aren't using their tools to their best potential is "dismissing" them…quite the opposite, really. There are millions of CSS tutorials out there; I don't see why I need to write another one, if that's what you're suggesting.
All I'm saying is if you want to use CSS you should learn CSS. You yourself said it's fun and interesting! If you still want to use Tailwind after that, great, then it's an informed choice.
It sounds like Tailwind was the way jvns learned CSS, though?
The trend seems to be arcing slightly away from Tailwind these days, but I'm considering learning it anyway because it might help strengthen my mental model. I've used CSS for a while, and I know at a logical level "oh, this thing does that, kinda" but I don't know it know it, and I'm curious if Tailwind would be a useful on-ramp to that. Certainly it worked for some folks when the CSS tutorials didn't.
To me, Tailwind is more like another styling system that compiles to CSS. It's from an alternate timeline where HTML decided to go all-in on inline styles and make them richer, rather than inventing CSS in the first place. It's not really the same model. And indeed one place Tailwind is useful is when you're using a component system like React, and you want do styles with your component renderer, so you want them to be independent.
AFACT, 90% of Tailwind is just inline styles with different syntax — it's arguably just one step above <FONT> tags.
That's not really very accurate, Tailwind behaves very differently to inline styles and much more similarly to CSS. As the author's article points out, a lot of the good habits that make Tailwind work well are the same good habits you need to write effective CSS. Tailwind is more like giving every element an implicit scoped CSS block, but with a funky DSL.
Your time spent yelling at clouds could be spent figuring what Tailwind is and how it works, then it might not make you so upset! ;)
giving every element an implicit scoped CSS block, but with a funky DSL
…in other words, an inline style with a different syntax? (I know, there's a little more to it than that, which is why I said "90%".)
I understand how it works — if a project has already commited to it, I use it. I do try my best not to have opinions about stuff I don't understand! Now ask me about Helm sometime. :)
There is a huge difference between knowing how css works and knowing how to use it effectively. I know perfectly well how css works but I still use tailwind because vanilla css is overwhelming and because I suck at graphic design. This article provides ideas for structuring css and uses tailwind as a base.
As someone who hasn't really been following along, this seems like a pretty good peek into modern CSS practices. I really like all the links to her inspirations, they seem like good reading (but so far I've only read "no outer margin").
I am, however, a bit skeptical of the "bottom up" approach for base styles? Not that I know what else I would do (and it still seems worth a shot), base styles are just inherently finnicky.
I love this article. I also learned about CSS gradually over time by writing lots of random little sites, and I think that I would have benefited from thinking about these sorts of "systems" more from the beginning. I'm fairly allergic to frameworks but not using them meant that I often felt like I was floating in a bit of a structureless void even when I understood how to make everything work like I wanted.
I enjoyed this piece! Tailwind is mostly the only way my backend-brained self has been able to do good things with CSS. I appreciate the direction the author is going, even as I personally plan to stick with Tailwind for a while yet. I do aspire to learning the same lesson and applying it to my work.
dkasper | 9 hours ago
not sure if this opinion will be popular, but I don't typically use any css or javascript frameworks for my personal projects anymore. Can't have supply chain vulnerabilities if you have no dependencies! Of course that's only one type of vulnerability but it helps.
sebastien | 8 hours ago
I'm also back to a fairly vanilla HTML/CSS/JS, sprinkled with hand-rolled stuff. It's a combination of framework fatigue, npm audit overload, and the fact that with LLMs I don't have to care anymore about what other people think about the implementation (eg. Why are you not using React and Tailwind?).
wrs | 4 hours ago
I mean, yeah — this is how CSS works. People not knowing this and blindly using Tailwind make me want to step outside and yell at clouds for a while. To me, 90% of Tailwind is just inline styles with different syntax — it's arguably just one step above
<FONT>tags.jvns | 4 hours ago
I’m not sure what your goals are with this comment, but I can say that in almost 8 years of using Tailwind I read a countless number of comments like this one dismissing Tailwind users and none of them helped me in any way to move off of it or to improve my CSS skills.
this blog post is me explaining what I actually needed to know.
wrs | 30 minutes ago
I don't think being frustrated that people aren't using their tools to their best potential is "dismissing" them…quite the opposite, really. There are millions of CSS tutorials out there; I don't see why I need to write another one, if that's what you're suggesting.
All I'm saying is if you want to use CSS you should learn CSS. You yourself said it's fun and interesting! If you still want to use Tailwind after that, great, then it's an informed choice.
bitshift | 18 minutes ago
It sounds like Tailwind was the way jvns learned CSS, though?
The trend seems to be arcing slightly away from Tailwind these days, but I'm considering learning it anyway because it might help strengthen my mental model. I've used CSS for a while, and I know at a logical level "oh, this thing does that, kinda" but I don't know it know it, and I'm curious if Tailwind would be a useful on-ramp to that. Certainly it worked for some folks when the CSS tutorials didn't.
wrs | 15 minutes ago
To me, Tailwind is more like another styling system that compiles to CSS. It's from an alternate timeline where HTML decided to go all-in on inline styles and make them richer, rather than inventing CSS in the first place. It's not really the same model. And indeed one place Tailwind is useful is when you're using a component system like React, and you want do styles with your component renderer, so you want them to be independent.
Johz | 4 hours ago
That's not really very accurate, Tailwind behaves very differently to inline styles and much more similarly to CSS. As the author's article points out, a lot of the good habits that make Tailwind work well are the same good habits you need to write effective CSS. Tailwind is more like giving every element an implicit scoped CSS block, but with a funky DSL.
Your time spent yelling at clouds could be spent figuring what Tailwind is and how it works, then it might not make you so upset! ;)
wrs | 37 minutes ago
…in other words, an inline style with a different syntax? (I know, there's a little more to it than that, which is why I said "90%".)
I understand how it works — if a project has already commited to it, I use it. I do try my best not to have opinions about stuff I don't understand! Now ask me about Helm sometime. :)
doctor_eval | an hour ago
There is a huge difference between knowing how css works and knowing how to use it effectively. I know perfectly well how css works but I still use tailwind because vanilla css is overwhelming and because I suck at graphic design. This article provides ideas for structuring css and uses tailwind as a base.
[OP] dzwdz | 11 hours ago
As someone who hasn't really been following along, this seems like a pretty good peek into modern CSS practices. I really like all the links to her inspirations, they seem like good reading (but so far I've only read "no outer margin").
I am, however, a bit skeptical of the "bottom up" approach for base styles? Not that I know what else I would do (and it still seems worth a shot), base styles are just inherently finnicky.
cespare | 4 hours ago
I love this article. I also learned about CSS gradually over time by writing lots of random little sites, and I think that I would have benefited from thinking about these sorts of "systems" more from the beginning. I'm fairly allergic to frameworks but not using them meant that I often felt like I was floating in a bit of a structureless void even when I understood how to make everything work like I wanted.
yawaramin | 4 hours ago
I found this structuring technique very useful for organizing CSS: https://rstacruz.github.io/rscss/
It broadly agrees with and provides a bit more structure and organization on top of what jvns describes in OP.
doctor_eval | 2 hours ago
This is great. Not “tailwind sucks just use css” but “tailwind is great but maybe you don’t need it any more”.
I’ve always struggled with manually structuring css and this article really made me think of it in a much different way.
DanOpcode | an hour ago
Inspiring article! Great thoughts. I want to do the same
hoistbypetard | 4 minutes ago
I enjoyed this piece! Tailwind is mostly the only way my backend-brained self has been able to do good things with CSS. I appreciate the direction the author is going, even as I personally plan to stick with Tailwind for a while yet. I do aspire to learning the same lesson and applying it to my work.