You can do this with CSS. The trick is to use float (left div) and non-floating div (right). Also, the left (floating) div should have a minimum height, otherwise the right (non-floating) div will occupy the space of the left column if there is no content in the left.
EDIT: The <div> rule must also have the following rules:
overflow: hidden; display: block;
overflow: hidden makes the correct div lead like a column, otherwise its contents will flow around the left div.
Please note that #wrapper does not require width, because the default width of the <div> is 100% (since you said that it will occupy the entire width of the browser window), and also remove its fields.
Here is an example (I changed <section> to <div> for non-HTML5 browsers, but it works the same way).
I placed the background colors to distinguish all the elements.
http://jsfiddle.net/pmv3s/1/
Here is the full screen: http://fiddle.jshell.net/pmv3s/1/show/light/
CSS:
#wrapper { padding: 40px 0; overflow: hidden; background-color: red; min-height: 5px; } #list { float: left; width: 200px; background-color: green; overflow: hidden; min-height: 100px; } #grid { display: block; float: none; background-color: blue; min-height: 100px; overflow: hidden; }
jackjoe
source share