パーマリンク | 2007年10月30日 22:21
先日Javascriptでカラムの高さを揃えるというエントリーをしたのだが[CSS]高さの異なるカラムを揃えるスタイルシートでCSSで高さを揃える方法が紹介されている。
肝はpadding-bottomとmargin-bottomに指定する+-32768px。こんなやり方もあったんだと感心させられる。
<div id="CssBlock01">
<div id="CssLeft">
<h5>左側</h5>
<p>CSSで高さをそろえるテスト</p>
</div>
<div id="CssCenter">
<h5>中央</h5>
<p>CSSで高さをそろえるのはなかなかムツカシイのでこの方法でできるとなるとすごく便利だと思われる。</p>
</div>
<div id="CssRight">
<h5>右側</h5>
<p>てすと</p>
</div>
</div>
#CssBlock01 {
background-color: #CCCCCC;
width: 450px;
padding: 10px;
border: 5px solid #000000;
overflow: hidden;
}
#CssBlock01 div {
float: left;
margin-right: 5px;
margin-left: 5px;
width: 120px;
border: 1px solid #FFFFFF;
}
#CssLeft {
background-color: #99CCCC;
padding-bottom: 32768px;
margin-bottom: -32768px;
}
#CssCenter {
background-color: #99CC99;
padding-bottom: 32768px;
margin-bottom: -32768px;
}
#CssRight {
background-color: #CC9999;
padding-bottom: 32768px;
margin-bottom: -32768px;
}
親要素には「overflow: hidden;」、子要素に「padding-bottom: 32768px;」と「margin-bottom: -32768px;」を指定することで下記のようになる。
CSSで高さをそろえるテスト
CSSで高さをそろえるのはなかなかムツカシイのでこの方法でできるとなるとすごく便利だと思われる。
てすと
原理的に子要素の下のボーダーを表示することは出来ないと思われる。また親要素の下とくっついてしまうのにも注意。もっとも解決する方法があるかもですが。
そこらへんがOKなパターンであれば利用価値は大ですね。横の値としても使えそうだしリキッドレイアウトが楽に出来そう。
2008年08月26日 13:24
Copyright 2006-2008 KANTENNA.COM Reserved.