Do what I say, not what I did. Trust me.
Our story begins with a simple yet classic two-column layout for a client: the markup included a #sidebar div and #content div. The CSS floated the #sidebar to the right, and set a width of about 10em. The #content began its life with a margin-right also set at 10em.
For various reasons (another sad tale involving a disappearing background image), I tried changing margin-right to padding-right. Pay attention now: the page looked the same. And looked correct in both of my test browsers (Firefox + IE).
The problem: the navigation links stopped working in Firefox. Click all day if you wish; they were inert. Dead.
The insult: the links worked fine in IE. Aargh!!
It was as if I had inserted a plate glass window in front of my nav links. I could see them, but couldn’t reach them. Like that Rolex in the store window, just out of reach. Which is exactly what I had done: by changing the #content div from margin to padding, the #content div was now invisibly overlapping the links.
IE was just letting me get away with sloppy code, but Firefox was holding me accountable to actually get it correct.
When someone says “You really need to understand the box model to use CSS without hurting yourself,” they’re right.