I'm trying to put together a HTML & CSS tutorial, I'll use this information to put more emphasis in the most difficult parts.
Note: learning how to position elements sing tables does not count ;)<p>Thanks.
* The box model. Specifically how padding doesn't behave like most people expect. Be sure to include or point to a good illustration.<p>* The difference between inline and block display of elements – and how you can change them with css.
Why not start off with how to use Blueprint CSS (<a href="http://code.google.com/p/blueprintcss/" rel="nofollow">http://code.google.com/p/blueprintcss/</a>) and then show how to extend it? Blueprint gets the basics very right indeed, and allows your readers to become productive quickly. Then you can move on to how to create your own page elements, how to modify Blueprint, etc.<p>WRT your question, when I was building my own tiny websites I couldn't understand how CSS would help me be productive. The larger the sites, of course, the more obvious that became.
I believe the hardest thing about learning XHTML and CSS besides having to make things work across various browsers is avoiding the HTML soup, dated HTML practices such as the use of tables, and CSS hacks. I think it would be best to learn according to the current W3C standards which would enable one to have a stable foundation when swimming through content.
position: absolute vs relative<p>I've had to look up the rules several times now for how the parent box is chosen. I still don't know if I'm making more intermediate divs than I have to.