# Tailwind CSS is Overrated

> Less is sometimes… just less. 

I was at my old agency when I first heard about it. A junior engineer was saying how much he loved it so I took a look and was pretty confused.  
> 
> Why do I want a million CSS classes on each element? 
> 

Composability is great, but no one talks about how it’s much harder to identify which element you are looking at. It’s expressive, but not in right ways. When I’m looking at markup I’m trying to find the HTML I need to change, when I’m looking at CSS then that is a great time for me to be able to quickly identify how a component looks. I thought that was a given?  You know, separation of concerns and all that. 

Don’t get me wrong, I’m not opposed to utility CSS, which is something Tailwind offers. Sometimes you want to do something like toggle visibility, so just push a .hidden class on the element and done. It’s not how I do things these days, but there’s nothing wrong with it. 

The first benefit I was told it offers is that you have so much less CSS!  But wait… that’s the fastest thing a browser can handle. It’s far more performant than JavaScript and it’s most definitely faster than the DOM. So isn’t that kind of backwards?  If anything I’d want to trade more CSS for less DOM or JS.  Yes, yes that is correct. 


I think it had a meteoric rise after frameworks like Next.js gained traction themselves. Any type of CSS-in-JS doesn’t work well with SSR, since it cannot be streamed.  I think that’s changing, but going back to CSS is a good thing in my opinion.  SCSS modules were great, are great, and will continue to be… you guessed it, great. They are still my go to and I luckily convinced (after some time) my org to switch to them.  It makes me a happy guy and Chrome is happier with less repaints and reflows too. Sometimes CSS can just be CSS and we don’t need to reinvent the wheel.

Read online: https://davidoelfke.dev/blog/tailwind-css-is-overrated-6HhsJzvHOvlTMQhPBoBa9d
