I want to create a very simple liquid layout with 2 columns - the one to the left will have a fixed width, and the one to the right will be dependent to the window size.
1) If the container div is needed or not depends very much on your actual design, but from what I can see from what you have showed, it is not really necessary. What is body stuff?
2) You have answered your question yourself. If you want to prevent an overflow because of padding, margin,border, keep it.
The best method to have two/more columns in a layout is:
HTML
<div id="left">LEFT</div>
<div id="right">RIGHT</div>
CSS
div#left{
float:left;
width:200px;
min-height: 400px;
background-color: magenta;
}
div#right{
margin-left: 210px;
min-height: 400px;
background-color: yellow;
}
take a look here
EDIT:
One thing you can look into is using Scaffolding.
http://twitter.github.com/bootstrap/scaffolding.html This is from the fluid layout section. While it does not use a fixed span you could use nested containers.
<div class="container-fluid">
<div class="row-fluid">
<div class="span2">
<!--Sidebar content-->
</div>
<div class="span10">
<!--Body content-->
</div>
</div>
</div>
box-sizing: border-box;
More about that here: http://css-tricks.com/box-sizing/