純粋な CSS を使用し、テーブルを使用しない次のアプローチを使用できます。
ここでオンライン デモを参照してください。
結果:
ただし、ドキュメント構造を少し変更する必要があることを意味します (私は HTML5 要素を使用していますが、必要に応じてこれを通常の div に簡単に変更できます)。構造がかなり単純であることがわかります。
<header>Header
<nav>Menu</nav>
</header>
<main>
<div class="page">
<h3>Page 1</h3>
scroll from main scrollbar
....
</div>
<div class="page">
<h3>Page 2</h3>
scroll from main scrollbar
....
</div>
</main>
<footer>Footer</footer>
メインスクロールバーを使用して「両方の」ページをスクロールできるように、これをスタイリングするだけです。このコンテキストで不可欠なクラスは次のとおりです。
.page {
float:left;
margin:70px 10px 50px 10px;
border:1px solid #000;
width:45%;
}
クラスの重要な部分は、page
ヘッダーとフッターに一致するように上下の余白が設定されていることです。これが、ヘッダーとフッターが固定されていても、2 つのページが表示される理由です。
CSS の残りの部分は、たとえば次のとおりです。
html, body {
width:100%;
height:100%;
margin:0;
padding:0;
}
header {
position:fixed;
top:0;
width:100%;
height:70px;
font:32px sans-serif;
color:#fff;
background:#555;
}
nav {
position:absolute;
bottom:0;
font:12px sans-serif;
}
footer {
position:fixed;
width:100%;
bottom:0;
height:50px;
background:#555;
}