position:fixeddeduces an element from a normal "stream" of elements. I usually go around this by setting the margin-leftmiddle column equal to the width of the left column plus the desired gutter. For example, if the left column is 250px and the groove is 25px, then the margin-leftmiddle column will be 275px.
Sample code (this supports the width of the middle column in width):
#wrapper { position: relative; min-width: 800px; max-width: 1000px; margin-left: auto; margin-right: auto; }
#left-col { position: absolute; top: 0; left: 0; width: 250px; }
#right-col { position: absolute; top: 0; right: 0; width: 250px; }
#middle-col { position: relative; margin-left: 275px; min-width: 250px; max-width: 450px; }
<div id="wrapper">
<div id="left-col"> left </div>
<div id="middle-col"> middle </div>
<div id="right-col"> right </div>
</div>
source
share