[css] How to make an inline-block element fill the remainder of the line?

If you can't use overflow: hidden (because you don't want overflow: hidden) or if you dislike CSS hacks/workarounds, you could use JavaScript instead. Note that it may not work as well because it's JavaScript.

_x000D_
_x000D_
var parent = document.getElementsByClassName("lineContainer")[0];_x000D_
var left = document.getElementsByClassName("left")[0];_x000D_
var right = document.getElementsByClassName("right")[0];_x000D_
right.style.width = (parent.offsetWidth - left.offsetWidth) + "px";_x000D_
window.onresize = function() {_x000D_
  right.style.width = (parent.offsetWidth - left.offsetWidth) + "px";_x000D_
}
_x000D_
.lineContainer {_x000D_
  width: 100% border: 1px solid #000;_x000D_
  font-size: 0px;_x000D_
  /* You need to do this because inline block puts an invisible space between them and they won't fit on the same line */_x000D_
}_x000D_
_x000D_
.lineContainer div {_x000D_
  height: 10px;_x000D_
  display: inline-block;_x000D_
}_x000D_
_x000D_
.left {_x000D_
  width: 100px;_x000D_
  background: red_x000D_
}_x000D_
_x000D_
.right {_x000D_
  background: blue_x000D_
}
_x000D_
<div class="lineContainer">_x000D_
  <div class="left"></div>_x000D_
  <div class="right"></div>_x000D_
</div>
_x000D_
_x000D_
_x000D_

http://jsfiddle.net/ys2eogxm/