your code itself doesn not look wrong, but there are a couple of things that could cause this, the biggest and most prominent is that size of the browser. You are seeing overlaps because your right and left contents have a fixed width, and the the center content is really what is changing to make it all fluid.
To fix that you would use a declaration to set a minimum width of the body itself.
Code:
body {
min-width: 650px;
}
I set it to 650 because each of your side contents are 200 and your main content is the middle, so it should always remain larger then the "sidebars".
This will ensure that you have ample spacing to get everything in there that you want but it would still allow the center content to expand as needed on wider browser widths.
Bookmarks