One problem people have coming from tables to non-tables is they often try to replicate the tables with divs.
There are like 94 HTML tags out there, so if everything is a div it's automatically suspicious.
The way out is to start with the text content first, then start marking it up with what the content is. This isn't easy for someone coming from tables either but I think it pushes them in a better direction.
After the page is marked up to satisfaction, take a look at what you have now in a browser (or all browsers). Then you'll be using the minimal amount of CSS to push boxes into place with floats, margins, etc, rather than trying to labouriously and meticulously position everything (that's going to be a lot of code, as you can see with each element being absolutely positioned, and it's brittle).