This can be done using the display tables, you can set the first div to a fixed width and let the rest of the div evenly distribute the remaining space! First, create a wrapper width display:table and width:100%; (or any other width)
.wrapper { display: table; width: 100%; table-layout: fixed; }
Now check the boxes in display:table-cell
.stretch { display: table-cell; }
And lock the first width to a fixed width
.box1 { width: 50px; height: 100px; background: red; }
Fiddle
http://jsfiddle.net/DBnSp/4/
No floating, no interest and very well maintained!
source share