You can locate a lot of problems just by validating your HTML and CSS. Coding errors can lead to some strange behaviors. HTML valiator - validator.w3.org/ CSS validator - jigsaw.w3.org/css-validator/ It also helps to be able to see your containers. One easy way is to add a background to each one. You could add a border but this can cause a problem because the borders increase the size of the container. Read up on the positioning types, such as relative, fixed and static. I see a lot of problems caused by a lack of understanding of these. Positioning - www.barelyfitz.com/screencast/html-training/css/positioning/ Floats - css.maxdesign.com.au/floatutorial/introduction.htm Clearing Floats - css.maxdesign.com.au/floatutorial/clear.htm A basic understanding of the Display types is also quite useful to know. Display - www.quirksmode.org/css/display.html Hope this helps you get started with your HTML/CSS.
What shocks me is that people don't fucking validate their HTML and then complain, bitch and moan about their layouts. You should be using outline instead of a background or border.
I tend to use Firefox's Firebug as it's absolutely fantastic for debugging your code. Plus you can edit the stylesheets on the fly.
Don't forget the Web Dev toolbar. You can enter the "View Style Information" mode (Ctrl Shift Y), then click on an element, and it'll tell you exactly what style declarations are affecting that element and where they came from.
I prefer Firebug's "Inspect" (which I have hotkeyed ) because it has 2 different modes to the Web Dev toolbar. But either of them are better than nothing at all.