You can use flexbox to lay out your items:
#parent {_x000D_
display: flex;_x000D_
}_x000D_
#narrow {_x000D_
width: 200px;_x000D_
background: lightblue;_x000D_
/* Just so it's visible */_x000D_
}_x000D_
#wide {_x000D_
flex: 1;_x000D_
/* Grow to rest of container */_x000D_
background: lightgreen;_x000D_
/* Just so it's visible */_x000D_
}
_x000D_
<div id="parent">_x000D_
<div id="wide">Wide (rest of width)</div>_x000D_
<div id="narrow">Narrow (200px)</div>_x000D_
</div>
_x000D_
This is basically just scraping the surface of flexbox. Flexbox can do pretty amazing things.
For older browser support, you can use CSS float and a width properties to solve it.
#narrow {_x000D_
float: right;_x000D_
width: 200px;_x000D_
background: lightblue;_x000D_
}_x000D_
#wide {_x000D_
float: left;_x000D_
width: calc(100% - 200px);_x000D_
background: lightgreen;_x000D_
}
_x000D_
<div id="parent">_x000D_
<div id="wide">Wide (rest of width)</div>_x000D_
<div id="narrow">Narrow (200px)</div>_x000D_
</div>
_x000D_