Hola, con este código que te pongo, que es el tuyo pero con colores de fondo para distinguir las zonas y alguna cosa más, los div izquierda, principal y derecha crecerán con respecto al contenido que alberguen cada uno y con ellos el div contairne. No se si es lo que quieres. Ahora bien, si lo que quieres es que esas columnas tengan siempre el mismo tamaño independientemente del contenido, eso es otra historia.
Código:
html {
height:100%;
}
body{
height:100%;
padding:0px;
margin:0px;
background-color: #FFFFFF;
text-align:center;
}
#container {
padding: 0;
height:auto;
width:1152px;
margin: 0 auto 0 auto;
text-align:left;
background: #006666 no-repeat left bottom;
}
#header{
width:100%;
height:auto;
margin:10px 0 0px 0px;
text-align: center;
background: #009966;
}
#izquierda{
width:170px;
height:100%;
margin:0 20px 0 0px;
float:left;
padding:0px;
background: #990000;
}
#menu{
float:left;
margin:0;
width:720px;
background: #CC0000;
}
#principal{
height:100%;
margin:0;
width:720px;
padding:0px;
background: #99CC33;
float: left;
}
#derecha{
width:215px;
height:100%;
margin:0 0px 0 0px;
float:right;
padding:0;
background-position:right;
background-repeat:repeat-y;
background-color: #00CCFF;
}
#pie{
width:100%;
height:246px;
margin:0px 0 0px 0px;
text-align: center;
clear:both;
background: #999900;
}