A few quick comments looking through the source: You did very well in structuring things semantically. I only see a few <br /> or <b> tags. That said, you probably want to include more semantic markup for some things, e.g., <div id="post"> <b>Introduction</b><br /> <i>Thursday, January 27, 2011</i> </div> <br /> <div id="content"> If I were to rework it, I would do: <div id="post"> <h1>Introduction</h1> <h2>Thursday, blah blah</h2> </div> <div id="content"> Then your CSS will style those elements: div#post h1 { ... } div#post h2 { ... } For your images, unless you need a javascript id selector, I'd probably make them a class, rather than unique ID's. It looks like your images will all be styled similarly, so why not group them using a class? Or just override the CSS defaults for the image tag. Finally, you should probably use a CSS reset. Browsers all use different defaults, so the only sensible thing is to use a reset so that all styling attributes start out the same across all browsers. Eric Meyer is the CSS guru, he has his reset at http://meyerweb.com/eric/tools/css/reset/ (along with more explanation about why to use it).