I have three div elements: left, middle and right. Left and right are fixed and floating. What I want is the middle div to fill the gap in between them.
The key is to restructure your html to have middle last, remove the float from the middle and replace it with overflow: hidden.
middle
float
View fiddle example.
HTML
left right middle
CSS
#left { width: 200px; float: left; } #middle { overflow: hidden; } #right { width: 200px; float: right; }