Thank you 😊️
It's a tough (but really good) question. Just look at how people love tailwind. Does this mean CSS is too hard/annoying/awkward/low-level?
My opinion is that instead of 'pixel pushing', sometimes people want to focus on building features. Pixel pushing can be a long and frustrating experience.
Crafting CSS from scratch does feel like an 'art' in some sense, it takes time, care, attention, and lots of deep foundational knowledge around layout mechanisms, the cascade, browser quirks etc. I can see why that might be frustrating to deal with for some.
RE: resources, I saw this recently it's short and simple! But apart from that, if I were starting from scratch, I would read:
- Don't Make Me Think (book)
- Any highly rated book on UI design on Amazon
- Then once I understand those fundamentals, I would move onto this CSS course by MDN
While theoretical knowledge is cool, nothing compares to taking designs you like, maybe a free Sketch design, and converting it into HTML + CSS from scratch. Doing this helped me more than reading
For me personally, having foundational knowledge on UI design is extremely valuable when doing CSS.