  
<div id="snippet_30" class="snippet">
  <h2><a href="/snippets/30-Elastic-2-column-XHTML-and-CSS-layout" title="Elastic 2 column XHTML and CSS layout - HTML - xhtml, css, layout, 2 column">Elastic 2 column XHTML and CSS layout</a></h2>
  <div class="details">
    <a style="background-color: #FFFF94;" href="http://snippets.aktagon.com/languages/47-HTML">
      HTML</a> posted over 2 years ago by christian
          
  </div>

  <div class="body">
    <p>This is a slight modification of Roger Johansson&#8217;s code that I found while reading <a href="http://www.456bereastreet.com/lab/developing_with_web_standards/csslayout/2-col/">this article</a>. I&#8217;ve modified the code to use ems instead of pixels&#8212;<a href="http://blue-anvil.com/archives/going-elastic-with-ems-layout-techniques">Mike Jolley</a> has written about why ems are preferrable over pixels. 
<pre class="active4d"><span class="line-numbers">   1 </span> <span class="TagContainer"><span class="TagContainer">&lt;!</span><span class="TagContainer"><span class="TagName">DOCTYPE</span> html PUBLIC <span class="String">&quot;-//W3C//DTD XHTML 1.0 Strict//EN&quot;</span></span></span>
<span class="line-numbers">   2 </span> <span class="TagContainer"><span class="TagContainer">   <span class="String">&quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&quot;</span></span><span class="TagContainer">&gt;</span></span>
<span class="line-numbers">   3 </span> <span class="TagContainer"><span class="TagContainer">&lt;</span><span class="TagName">html</span> <span class="TagAttribute">xmlns</span>=<span class="String"><span class="String">&quot;</span>http://www.w3.org/1999/xhtml<span class="String">&quot;</span></span> <span class="TagAttribute">lang</span>=<span class="String"><span class="String">&quot;</span>en<span class="String">&quot;</span></span> <span class="TagAttribute">xml:lang</span>=<span class="String"><span class="String">&quot;</span>en<span class="String">&quot;</span></span><span class="TagContainer">&gt;</span></span>
<span class="line-numbers">   4 </span> <span class="TagContainer"><span class="TagContainer">&lt;</span><span class="TagName">head</span><span class="TagContainer">&gt;</span></span>
<span class="line-numbers">   5 </span>   <span class="TagContainer"><span class="TagContainer">&lt;</span><span class="TagName">title</span><span class="TagContainer">&gt;<span class="TagContainer">&lt;</span>/</span><span class="TagName">title</span><span class="TagContainer">&gt;</span></span>
<span class="line-numbers">   6 </span>   <span class="TagContainer"><span class="TagContainer">&lt;</span><span class="TagName">meta</span> <span class="TagAttribute">http-equiv</span>=<span class="String"><span class="String">&quot;</span>Content-Type<span class="String">&quot;</span></span> <span class="TagAttribute">content</span>=<span class="String"><span class="String">&quot;</span>text/html; charset=utf-8<span class="String">&quot;</span></span> /<span class="TagContainer">&gt;</span></span>
<span class="line-numbers">   7 </span>   <span class="TagContainer"><span class="TagContainer">&lt;</span><span class="TagName">meta</span> <span class="TagAttribute">name</span>=<span class="String"><span class="String">&quot;</span>description<span class="String">&quot;</span></span> <span class="TagAttribute">content</span>=<span class="String"><span class="String">&quot;</span><span class="String">&quot;</span></span>/<span class="TagContainer">&gt;</span></span>
<span class="line-numbers">   8 </span>   &lt;<span class="TagName">style</span> <span class="TagAttribute">type</span>=<span class="String"><span class="String">&quot;</span>text/css<span class="String">&quot;</span></span>&gt;
<span class="line-numbers">   9 </span>   <span class="TagName">*</span> {
<span class="line-numbers">  10 </span>     font-size:95%;
<span class="line-numbers">  11 </span>     font-family: georgia,<span class="String"><span class="String">'</span>Times<span class="String">'</span></span>,serif;
<span class="line-numbers">  12 </span>   }
<span class="line-numbers">  13 </span> 
<span class="line-numbers">  14 </span>   <span class="TagName">body</span> {
<span class="line-numbers">  15 </span>     min-width:62em;
<span class="line-numbers">  16 </span>   }
<span class="line-numbers">  17 </span>   
<span class="line-numbers">  18 </span>   <span class="TagAttribute"><span class="TagAttribute">#</span>wrap</span> {
<span class="line-numbers">  19 </span>     margin:0 auto;
<span class="line-numbers">  20 </span>     width:60em;
<span class="line-numbers">  21 </span>     border: 1px solid blue;
<span class="line-numbers">  22 </span>   }
<span class="line-numbers">  23 </span>   
<span class="line-numbers">  24 </span>   <span class="TagAttribute"><span class="TagAttribute">#</span>content</span> {
<span class="line-numbers">  25 </span>     float:left;
<span class="line-numbers">  26 </span>     width:40em;
<span class="line-numbers">  27 </span>     border: 1px solid blue;
<span class="line-numbers">  28 </span>   }
<span class="line-numbers">  29 </span> 
<span class="line-numbers">  30 </span>   <span class="TagAttribute"><span class="TagAttribute">#</span>sidebar</span> {
<span class="line-numbers">  31 </span>     float:right;
<span class="line-numbers">  32 </span>     width:19em;
<span class="line-numbers">  33 </span>     border: 1px solid blue;
<span class="line-numbers">  34 </span>   }
<span class="line-numbers">  35 </span> 
<span class="line-numbers">  36 </span>   <span class="TagAttribute"><span class="TagAttribute">#</span>footer</span> {
<span class="line-numbers">  37 </span>     clear:both;
<span class="line-numbers">  38 </span>     border: 1px solid blue;
<span class="line-numbers">  39 </span>   }
<span class="line-numbers">  40 </span>   &lt;/<span class="TagName">style</span>&gt;
<span class="line-numbers">  41 </span> <span class="TagContainer"><span class="TagContainer">&lt;/</span><span class="TagName">head</span><span class="TagContainer">&gt;</span></span>
<span class="line-numbers">  42 </span> <span class="TagContainer"><span class="TagContainer">&lt;</span><span class="TagName">body</span><span class="TagContainer">&gt;</span></span>
<span class="line-numbers">  43 </span>   <span class="TagContainer"><span class="TagContainer">&lt;</span><span class="TagName">div</span> <span class="TagContainer"><span class="TagAttribute">id</span><span class="TagContainer">=</span><span class="String"><span class="String">&quot;</span><span class="String">wrap</span><span class="String">&quot;</span></span></span><span class="TagContainer">&gt;</span></span>
<span class="line-numbers">  44 </span>     <span class="TagContainer"><span class="TagContainer">&lt;</span><span class="TagName">div</span> <span class="TagContainer"><span class="TagAttribute">id</span><span class="TagContainer">=</span><span class="String"><span class="String">&quot;</span><span class="String">header</span><span class="String">&quot;</span></span></span><span class="TagContainer">&gt;</span></span>
<span class="line-numbers">  45 </span>       Header
<span class="line-numbers">  46 </span>     <span class="TagContainer"><span class="TagContainer">&lt;/</span><span class="TagName">div</span><span class="TagContainer">&gt;</span></span>
<span class="line-numbers">  47 </span>     <span class="TagContainer"><span class="TagContainer">&lt;</span><span class="TagName">div</span> <span class="TagContainer"><span class="TagAttribute">id</span><span class="TagContainer">=</span><span class="String"><span class="String">&quot;</span><span class="String">nav</span><span class="String">&quot;</span></span></span><span class="TagContainer">&gt;</span></span>
<span class="line-numbers">  48 </span>     Navigation
<span class="line-numbers">  49 </span>     <span class="TagContainer"><span class="TagContainer">&lt;/</span><span class="TagName">div</span><span class="TagContainer">&gt;</span></span>
<span class="line-numbers">  50 </span>     <span class="TagContainer"><span class="TagContainer">&lt;</span><span class="TagName">div</span> <span class="TagContainer"><span class="TagAttribute">id</span><span class="TagContainer">=</span><span class="String"><span class="String">&quot;</span><span class="String">content</span><span class="String">&quot;</span></span></span><span class="TagContainer">&gt;</span></span>
<span class="line-numbers">  51 </span>       Content
<span class="line-numbers">  52 </span>     <span class="TagContainer"><span class="TagContainer">&lt;/</span><span class="TagName">div</span><span class="TagContainer">&gt;</span></span>
<span class="line-numbers">  53 </span>     <span class="TagContainer"><span class="TagContainer">&lt;</span><span class="TagName">div</span> <span class="TagContainer"><span class="TagAttribute">id</span><span class="TagContainer">=</span><span class="String"><span class="String">&quot;</span><span class="String">sidebar</span><span class="String">&quot;</span></span></span><span class="TagContainer">&gt;</span></span>
<span class="line-numbers">  54 </span>       Sidebar
<span class="line-numbers">  55 </span>     <span class="TagContainer"><span class="TagContainer">&lt;/</span><span class="TagName">div</span><span class="TagContainer">&gt;</span></span>
<span class="line-numbers">  56 </span>     <span class="TagContainer"><span class="TagContainer">&lt;</span><span class="TagName">div</span> <span class="TagContainer"><span class="TagAttribute">id</span><span class="TagContainer">=</span><span class="String"><span class="String">&quot;</span><span class="String">footer</span><span class="String">&quot;</span></span></span><span class="TagContainer">&gt;</span></span>
<span class="line-numbers">  57 </span>       Footer
<span class="line-numbers">  58 </span>     <span class="TagContainer"><span class="TagContainer">&lt;/</span><span class="TagName">div</span><span class="TagContainer">&gt;</span></span>
<span class="line-numbers">  59 </span>   <span class="TagContainer"><span class="TagContainer">&lt;/</span><span class="TagName">div</span><span class="TagContainer">&gt;</span></span>
<span class="line-numbers">  60 </span> <span class="TagContainer"><span class="TagContainer">&lt;/</span><span class="TagName">body</span><span class="TagContainer">&gt;</span></span>
<span class="line-numbers">  61 </span> <span class="TagContainer"><span class="TagContainer">&lt;/</span><span class="TagName">html</span><span class="TagContainer">&gt;</span></span>
</pre></p>
  </div>

  <div style="font-size: 0.8em;margin:0.5em;">
    
      Tagged <a href="/tags/92-xhtml">xhtml</a>, <a href="/tags/11-css">css</a>, <a href="/tags/93-layout">layout</a>, <a href="/tags/94-2-column">2 column</a>
    
    
  </div>
</div>






