title: Two-Column CSS Layout without having to specify the right column
body: <p>I'm trying to figure out how to create a layout that would display two columns, one on the left and one on the right side. I'm cool with specifying the width of the left column, but because of margins and paddings, I really don't want to specify the width of the right column and leave it up to the browser to decide.</p>
  
  <p>I cannot find any examples on doing this, people always seem to give all columns a fixed width. Here is some sample code that reproduces the problem:</p>
  
  <pre><code>&lt;html&gt;
   &lt;head&gt;
    &lt;style type="text/css"&gt;
      #left, #right {
       border: solid 1px #000000;
      }
  
      #left {
       float: left;
       width: 10%;
      }
  
      #right {
       float: left;
      }
    &lt;/style&gt;
   &lt;/head&gt;
   &lt;body&gt;
    &lt;div id="left"&gt;I'm left&lt;/div&gt;
    &lt;div id="right"&gt;
     &lt;p&gt;I'm right.&lt;/p&gt;
     &lt;p&gt;There is a bit more text here.&lt;/p&gt;
     &lt;p&gt;Let's assume for a moment, that there is so much text here,
     that it cannot possibly fit on one line on any kind of monitor.
     For this purpose, I have to write a bit of nonsense, but there is
     always enough nonsense for this kind of task in the world.
     I could always ask a politician, I'm sure there isn't even a single
     cinema canvas in the world that could display such nonsense in a
     single line.
    &lt;/div&gt;
   &lt;/body&gt;
  &lt;/html&gt;
  </code></pre>
  
  <p>Note that if I would remove the particularly long paragraph, the right column would be small enough to fit in the same line and it would work.</p>
  
  <p>Is there a way to have the right column take up the remaining space?</p>