Toma este ejemplo rápido y sencillo, en el que en el div central le he puesto un ancho de 400px, por lo que en los divs laterales le restaría 200 en cada lado. Así el div central será siempre de 400px y los laterales adaptarán al ancho de la pantalla.
Código:
<style>
#contenedor, body {
top: 0px;
left: 0px;
margin: 0px;
padding: 0px;
width: 100%;
height: 100%;
overflow: hidden;
}
.left {
position: relative;
height: 100px;
float: left;
width: -moz-calc(50% - 200px);
width: calc(50% - 200px);
background-color: red;
}
.center {
position: relative;
height: 100px;
float: left;
width: 400px;
background-color: green;
}
.right {
position: relative;
height: 100px;
float: left;
width: -moz-calc(50% - 200px);
width: calc(50% - 200px);
background-color: blue;
}
</style>
<div id="contenedor">
<div class="left"></div>
<div class="center"></div>
<div class="right"></div>
<div style="clear; both"></div>
</div>