HOME>WEBプログラム覚書>Divの高さを揃える方法 (css版)

Divの高さを揃える方法 (css版)

先日Javascriptでカラムの高さを揃えるというエントリーをしたのだが[CSS]高さの異なるカラムを揃えるスタイルシートでCSSで高さを揃える方法が紹介されている。

肝はpadding-bottomとmargin-bottomに指定する+-32768px。こんなやり方もあったんだと感心させられる。

HTMLサンプル

HTML

  1. <div id="CssBlock01">
  2.  <div id="CssLeft">
  3.   <h5>左側</h5>
  4.   <p>CSSで高さをそろえるテスト</p>
  5.  </div>
  6.  
  7.  <div id="CssCenter">
  8.   <h5>中央</h5>
  9.   <p>CSSで高さをそろえるのはなかなかムツカシイのでこの方法でできるとなるとすごく便利だと思われる。</p>
  10.  </div>
  11.  
  12.  <div id="CssRight">
  13.   <h5>右側</h5>
  14.   <p>てすと</p>
  15.  </div>
  16. </div>
  17.  

CSSサンプル

CSS

  1. #CssBlock01 {
  2.  background-color: #CCCCCC;
  3.  width: 450px;
  4.  padding: 10px;
  5.  border: 5px solid #000000;
  6.  overflow: hidden;
  7. }
  8. #CssBlock01 div {
  9.  float: left;
  10.  margin-right: 5px;
  11.  margin-left: 5px;
  12.  width: 120px;
  13.  border: 1px solid #FFFFFF;
  14. }
  15. #CssLeft {
  16.  background-color: #99CCCC;
  17.  padding-bottom: 32768px;
  18.  margin-bottom: -32768px;
  19. }
  20. #CssCenter {
  21.  background-color: #99CC99;
  22.  padding-bottom: 32768px;
  23.  margin-bottom: -32768px;
  24. }
  25. #CssRight {
  26.  background-color: #CC9999;
  27.  padding-bottom: 32768px;
  28.  margin-bottom: -32768px;
  29. }
  30.  

親要素には「overflow: hidden;」、子要素に「padding-bottom: 32768px;」と「margin-bottom: -32768px;」を指定することで下記のようになる。

実行結果

左側

CSSで高さをそろえるテスト

中央

CSSで高さをそろえるのはなかなかムツカシイのでこの方法でできるとなるとすごく便利だと思われる。

右側

てすと

原理的に子要素の下のボーダーを表示することは出来ないと思われる。また親要素の下とくっついてしまうのにも注意。もっとも解決する方法があるかもですが。

そこらへんがOKなパターンであれば利用価値は大ですね。横の値としても使えそうだしリキッドレイアウトが楽に出来そう。

投稿日 2007年10月30日 22:21
カテゴリ HTML/CSS
タグ インターフェイス
トラックバック URL http://www.kantenna.com/cgi-bin/mt504/mt-tb.cgi/1127

コメント

コメントする
Name
Email Address
URL