これは思ったほど悪くはありませんでした。以下のコードを参照してください。
HTML
<html>
<head>
<title>Test divs</title>
</head>
<body>
<div id="header">Head</div>
<div id="content">
<div id="div1">Div 1</div>
<div id="div2">Div 2</div>
<div id="div3">Div 3</div>
<div id="div4">Div 4</div>
<div id="div5">Div 5</div>
</div>
<div id="footer">Footer</div>
</body>
CSS
body, html {
height: 100%;
}
body, body * {
margin: 0;
padding: 0;
}
#header, #content, #footer, #div1, #div2, #div3, #div4, #div5 {
border: 1px solid black;
}
#content {
position: relative;
height: 80%;
}
#div1, #div2, #div3, #div4, #div5 {
position: absolute;
right: 0;
height: 20%;
width: 150px;
}
#div1 {
top: 0;
}
#div2 {
top: 20%;
}
#div3 {
top: 40%;
}
#div4 {
top: 60%;
}
#div5 {
top: 80%;
}
(境界線は視覚的な参照のみ) div の数に応じて、div の高さと上部の位置を調整します (100% / 0 から始まる div の数)。この質問に対するコメントによると、IE8 では動作しませんが、現時点ではテストする方法がありません。IE9、IE9互換モード、Chrome 24、FF 18で動作確認済み。