This can be achieved with display: table-cell jsfiddle
CSS
#wrapper .item{ display: table-cell; width: 150px; min-width: 150px; border: 1px solid #777; background: #eee; text-align: center; } #wrapper #second{ width: 100% }
Markup
<div id="wrapper"> <div id="first" class="item">First </div> <div id="second" class="item">Second </div> <div id="third" class="item">Third </div> <div id="fourth" class="item">Fourth </div> </div>
Update
Floating version
CSS
#wrapper div{background:#eee; border: 1px solid #777; min-width: 200px;} #first{ float: left; } #wrapper #second{ width: auto; background: #ffc; border: 1px solid #f00; min-width: 100px; overflow: hidden; } #first, #third, #fourth{ width: 200px; } #third, #fourth{float: right;}
Pegging , Move # per second to the end
<div id="wrapper"> <div id="first">First</div> <div id="third">Third</div> <div id="fourth">Fourth</div> <div id="second">Second</div> </div>
source share