Don’t know about tailwind but I used styled-components and not going back to vanilla css. CSS seems to be designed to be used with HTML, which did make sense back when it was created. Modern web is 99% JS and components composition which does not work well with Vanilla CSS in terms of class name uniqueness, specificity. Also it easy to dumb shit with CSS, like, I worked in the project where we had a lot of legacy global CSS. We had like dozen CSS styles which were adding margin to <label/>, <p> and so on. I mean no classes, just globally. I’ve been forced to add ‘all: unset’ to basically all my new components just to avoid changing global styles and breaking something else. Do not recommend.
I tend to build stuff with html css and php only ( all vanilla) and avoid non trivial js like the plague.
I can see your point but for me replacing HTML with js is just wastefull, you leave performance and built in accessibility on the table for a slightly more convenient experience that don’t work for me.
Don’t get me wrong, I’d always choose html over js if I could. My problem with css, and web in general, that it’s too fragmented. It’s like those people who are designing css, html, js and browsers didn’t speak to each other whatsoever. So now there is entire industry of js frameworks to glue all shit together. Like, look at the WebComponents. Which supposed to be native, out of the box replacement. So much effort and they still cannot compete, in some cases they simply do not provide basic features needed to build complex UIs. Next time I can choose stack I’ll probably just go with htmx
Don’t know about tailwind but I used styled-components and not going back to vanilla css. CSS seems to be designed to be used with HTML, which did make sense back when it was created. Modern web is 99% JS and components composition which does not work well with Vanilla CSS in terms of class name uniqueness, specificity. Also it easy to dumb shit with CSS, like, I worked in the project where we had a lot of legacy global CSS. We had like dozen CSS styles which were adding margin to <label/>, <p> and so on. I mean no classes, just globally. I’ve been forced to add ‘all: unset’ to basically all my new components just to avoid changing global styles and breaking something else. Do not recommend.
I tend to build stuff with html css and php only ( all vanilla) and avoid non trivial js like the plague. I can see your point but for me replacing HTML with js is just wastefull, you leave performance and built in accessibility on the table for a slightly more convenient experience that don’t work for me.
Don’t get me wrong, I’d always choose html over js if I could. My problem with css, and web in general, that it’s too fragmented. It’s like those people who are designing css, html, js and browsers didn’t speak to each other whatsoever. So now there is entire industry of js frameworks to glue all shit together. Like, look at the WebComponents. Which supposed to be native, out of the box replacement. So much effort and they still cannot compete, in some cases they simply do not provide basic features needed to build complex UIs. Next time I can choose stack I’ll probably just go with htmx