次の手順を使用して、相対的に配置されたラッパーにネストされた絶対配置の div を使用して、同じ高さの列を作成します。
- inline-block を使用して列を作成する
- すべての列の周りにラッパー div を作成し、相対的に配置されるように設定します
- 絶対位置の div をラッパー div 内の最後の要素として配置します
- 絶対位置の div を { bottom:0; に設定します。高さ: 100%; z-index: -1; }
- 絶対位置の div の幅を最初の列の幅に等しく設定します
- 最初の列に重なるように、絶対位置の div の左オフセットを設定します
- 絶対配置された div の希望の境界線と背景色を設定します
- 必要に応じて、残りの列に対してこの手順を繰り返します
次に例を示します。
<!doctype html>
<html>
<head>
<title>Equal Height Columns</title>
<meta charset="utf-8">
<style>
/* Wrapper */
.wrapper { position: relative; }
/* Column */
.column { display: inline-block; vertical-align: top; }
/* Layered Illusion */
.equalizer { position: absolute; bottom:0; left: 0; height: 100%; z-index: -1; }
/* Border for Column and Illusion */
.equalizer, .column { border: 1px solid red; border-width: 0 1px; width: 200px; }
</style>
</head>
<body>
<div class="wrapper">
<div id="first" class="column">
<span>hello</span>
</div>
<div class="column">
<div>
<p>hi</p>
<p>there</p>
</div>
</div>
<div class="column">
<span>there</span>
</div>
<div class="equalizer"></div>
</div>
</body>
</html>