Diary

CSSで内容量が異なるボックスの高さを揃える

| コメント(1) | トラックバック(0)

テーブルでレイアウトを組んでいたときは意識すらしなかった、「内容量の違うボックスの高さを揃える」ということが、テーブルを使わないと急に難しくなります。

どういうケースでそうなるかというと、ウチのサイトのリンクページが良い例です。
一つの記事が矩形の小さなボックスになっていて、これを、float; left で並べています。
内容量がだいたい同じくらいのときは問題ないのですが、極端に内容量が違うとき、一つの記事の隣に二つの記事が回り込んだりしてしまいます。

もちろん、height で高さを指定してやれば揃う訳ですが、テーブルレイアウトのときは内容量に合わせて高さがいい感じになるのに、CSSでは固定高になってしまう(十分な高さにすると余白が出すぎる)というのはどうかと思いますよね。

そこで、魔法の呪文みたいな設定があります。

ネタ元はここ
[CSS]高さの異なるカラムを揃えるスタイルシート

解説すると、各ボックスをdivで囲んで、そのdivに対して「padding-bottom」にプラス、「margin-bottom」に同じ数値をマイナスで指定を行い、それらをさらにdivで囲んで「overflow:hidden;」を指定します。

HTML
<div class="column">
 <div class="box">・・・</div>
 <div class="box">・・・</div>
 <div class="box">・・・</div>
</div>

CSS
.column {
overflow: hidden;
}
.box {
float: left;
padding-bottom: 32768px;
margin-bottom: -32768px;
}

32768という数値に意味があるかどうかはよくわかりません(笑)

通常のサイトなら、これで良いのですが、実は Movable Type にはこのまま適用することが出来ません。
ボックスを1列ごと(たとえば3つごと)にdivで囲まなければならないのに、<MTEntries>などのMTタグでは、そんなことはできないのです。

というわけで、続きは次の記事で

トラックバック(0)

トラックバックURL: http://www.cherrypieweb.com/mt/mt-tb.cgi/205

コメント(1)

すでに新しい手法が公開されています。
こちらの手法のほうが良さそうなので、今度チャレンジしてみます。

[CSS]クロスブラウザ対応、高さの異なるカラムを揃えるスタイルシート
http://coliss.com/articles/build-websites/operation/css/1591.html

コメントする

最近のブログ記事

 >>   Diary

10/31 F-siteセミナー
最近、全然参加できてなくて、本当に久しぶりの F-siteセミナー。 ・・・なの…
[MT4]フィールドの順序が変更できない?
今回は、グチです。 今進めている案件で、お客さん用にMTの管理画面をカスタマイズ…
IEをChromeにしてしまうアドオン
Internet Explorer の中で、Google Chrome を動かす…
iGoogleでタブを上に戻す(日本語のままで)
mixiで、mitsuiさんの日記にコメントで書きましたが、自分のためにメモ h…
マイコーりょう
最近、私がハマッている芸人さん、「マイコーりょう」。 テレビ東京の土曜深夜にやっ…