3列レイアウトの場合:
- 上の行はその内容に応じてサイズを調整する必要があります
- 下の行はピクセル単位で固定された高さでなければなりません
- 真ん中の行はコンテナを埋めるために拡大する必要があります
問題は、メインコンテンツが展開すると、ヘッダーとフッターの行が圧縮されることです。

HTML:
<section>
  <header>
    header: sized to content
    <br>(but is it really?)
  </header>
  <div>
    main content: fills remaining space<br>
    x<br>x<br>x<br>x<br>x<br>x<br>x<br>x<br>x<br>x<br>
    <!-- uncomment to see it break - ->
    x<br>x<br>x<br>x<br>x<br>x<br>x<br>x<br>x<br>
    x<br>x<br>x<br>x<br>x<br>x<br>x<br>x<br>x<br>
    x<br>x<br>x<br>x<br>x<br>x<br>x<br>x<br>x<br>
    x<br>x<br>x<br>x<br>x<br>x<br>x<br>x<br>x<br>
    <!-- -->
  </div>
  <footer>
    footer: fixed height in px
  </footer>
</section>CSS:
section {
  display: flex;
  flex-flow: column;
  align-items: stretch;
  height: 300px;
}
header {
  flex: 0 1 auto;
  background: tomato;
}
div {
  flex: 1 1 auto;
  background: gold;
  overflow: auto;
}
footer {
  flex: 0 1 60px;
  background: lightgreen;
  /* fixes the footer: min-height: 60px; */
}フィドル:
- http://jsfiddle.net/7yLFL/1/ (動作し、コンテンツは小さい)
- http://jsfiddle.net/7yLFL/ (壊れており、コンテンツが大きい)
レガシーブラウザを無視して、CSSの最新かつ最高の機能を使用できるという幸運な状況にいます。flexレイアウトを使用して、最終的に古いテーブルベースのレイアウトを取り除くことができると思いました。どういうわけか、それは私が望むことをしていない...
記録のために、「残りの高さを埋める」に関するSOに関する多くの関連する質問がありますが、私がflexで抱えている問題を解決するものは何もありません。参照:
                  フィドルで期待どおりに機能しているようです。
                
                
                  
                    —
                    Dayan 
                    
                  
                
              
                  はい、<div>の残りのコンテンツのコメントを解除して、どのように機能しないかを確認する必要があります。多分私は壊れたバージョンをリンクするべきでした。ごめんなさい。
                
                
                  
                    —
                    Zilk、2014 
                    
                  
                
              
                  両方のバージョンを質問に追加しました。
                
                
                  
                    —
                    Zilk、2014 
                    
                  
                
              
                  私はあなたが今何を意味するかを理解しています。
                
                
                  
                    —
                    Dayan