I generally recommend HTML Dog (http://htmldog.com/) to people learning HTML and CSS. It's fairly comprehensive (from what I remember it covers just about everything mentioned in the article), teaches good practices, and has helpful examples.
After learning HTML and CSS, a good followup book to recommend is Designing with Web Standards by J. Zeldman (http://www.zeldman.com/dwws/). Even though it's written for individuals who are designers or are serious about web design, it has many helpful tips and information such as the box model that the OP discussed.