CSS Series
Before I begin, let me say that CSS is an incredible technology. When you step back and consider the wonders of modern web browsers, what they are achieving, and just how complex it would be to write one yourself, they really do appear to be something akin to magic. CSS, or perhaps more accurately, HTML and CSS along with the code that transforms the HTML according to the rules of CSS into something displayed in the browser for human consumption, is what makes that happen.
I get this out of the way early because CSS is also the most maddening technology. When you are hours into a debugging session trying to get the layout to do exactly what you intend and nothing seems to work it can drive you crazy, and that’s before you start to get into all the subtle differences between browser platforms.
Believe it or not, the situation is way better than it used to be. Hard to believe sometimes, but I do need to remind myself from time to time that I was using nested tables in the late 90s to get something like pixel perfect layout and that the modern grid and flex display approaches are so much better (I know I’m dating myself here, but all those late nights messing with tables must count for something right?)
As with all of these series, I am not attempting to be comprehensive here. I pull together the resources that I find useful followed by individual CSS topics that are either quick reminders for me (I don;t write a ton of CSS so these refreshers are useful) or they go somewhat deep into a particular CSS topic that took me some effort to understand and appreciate and writing these notes helped deepen my knowledge.