almost. you don't set heights for elements because if the content is larger, it looks fugly.
HTML
Code
<!DOCTYPE html>
<html>
<head>
<title>blah</title>
</head>
<body>
<header></header>
<section id="left"></section>
<section id="right"></section>
<footer></footer>
</body>
</html>
CSS
Code
/*make sure you do a css reset and set all your borders, paddings, and margins */
body {
/* you can center it by removing this comment, else it will be left justified
margin: 0 auto;
*/
width: 900px;
}
#left, #right {
width: 450px;
float: left;
}
#right:after {
clear: both;
}
Instead of floating both elements to either direction, you make them both float left. Since that will fudge up all element positions after the float, you need to clear the float. Using some CSS3 selectors, you don't need to make an extra element with the "clear" class on it.