CSS is a mess. First introduced in ~1995, it was meant to style basic text documents. Not websites. Not applications. Text documents. It has come a long way since then. Probably a bit too long. A lot of things were not intended in the first place like multi-column layouts, responsive web design and more; this is why it has become a language full of hacks and glitches, like some kind of odd steam machine with a bunch of extensions.
On the bright side, this is what makes CSS fun (or kinda)! And this is also why we have jobs. Because Hugo Giraudel is personally convinced that generating efficient, cross-browser and future-proof CSS is not possible and probably won’t be anytime soon.
Among others, he picked some really common yet annoying issues:
- Float clearing, an old battle
- How to fight inline-block spacing?
- Understanding absolute positioning
- When to set width / height to 100%?
- How not to screw up z-index?
- What is margin collapsing?