1

ウェブデザインの歴史の中で、最悪の質問。誰が気にして、ちょうどオプションを選んでください。だから私の質問はこのようなものです...CSS等しい高さの列 - うわー!再び?

標準に準拠し、(後方)ブラウザに対応するための最良の答えは何ですか? CSSとHTML
OR
Negative marginextra containers、または他のハッキング又は膨張のために予約されているものとするレイアウトに使用

jQuery

既にこれに時間をかけていますが、それを行う「プロフェッショナルな」方法を探しています。

編集:アレクサンダーの方法を使用してcode exampleがあります。

+1

非スタイリッシュなコンテンツのフラッシュがないので、 –

答えて

1

通常私は99%の症例で働く純粋なCSS/HTMLのソリューションを使用します。

私は「Y」斧の背景リピートを持つ親のdivを持っています。一般的な構造は次のようになるだろう:

html: 

<div id="container" class="clearfix"> 

    <div class="LeftPane"></div> 
    <div class="CenterPane"></div> 
    <div class="RightPane"></div> 

</div> 

CSS:あなたはボーダーのための画像を適用することができ、またはユーザを作ることができるもの、他のすべては、考えるように背景画像用

#container{ 
    background:url(imagePath) 0% repeat y; 
} 

そのすべての3つのブロック同じ高さを持っている

+0

それは素晴らしい修正です。サーバー要求を引き起こしても、[validates](http://jigsaw.w3.org/css-validator/)。私はそれが "空の"イメージで検証するとは思わなかった? – csi

+0

OK、私はこの仕事をすることはできません... [背景画像 - 偽の列を使用する](http://www.ejeliot.com/blog/61)を提案するか、 imagePath? – csi

+0

ここにコードを貼り付けてください – AlexC

0

私はfaux columnsと付く傾向があります。

+0

のグラフィックは最高です。グラフィックスが同じであればすばらしいです。また、ボトムボーダーではあまり役に立ちません... –

1

に成功していることを行うための多くの方法がありますが、私はそれらの最も簡単な1が単に共通の親コンテナでそれらすべてを包むことだと思い、全く親のための彼のdisplaytableまたはtable-row不要に設定されていません。元の<div>display: table-cell;

jsFiddleに設定します。

+1

それは彼が互換性が必要な距離に依存します。 IE7は 'table-cell'や('私は) 'table-row'をサポートしていないので。 –

+0

私はあまりにも私に夢中になっているかもしれませんが、私は表示用テーブルがアイテムを[テーブルとして表示]するようにレイアウト用のテーブルを使用するのと似ていると感じています(http://www.quirksmode.org/css/display.html ) – csi

+0

いいえ、このレイアウトとテーブルベースのレイアウトの違いは、約2-3の余分な要素(このレイアウトでは特に)です。ここでは3つのdivを順番に使用しています。これは合法です。ただし、CSSのスタイルを設定すると、マークアップはきれいです。 –

0

互換性のためにjQueryを提案します。ハックや余分なコンテナは、あなたが言ったように、あなたのコードを膨らませてしまい、変更が必要な場合には編集が難しくなります。とにかく、HTMLはページのレイアウトです。

0

私は同じ高さの列のための革命的な新しい方法を考え出しました。最新のChrome、Firefox、IE7-9でテストされた純粋なCSS/HTMLソリューションです。それは設定するのは少しトリッキーですが、それが完了したらそれは美しく動作します。私が見たすべての以前の解決策の問題は、実際には境界線、余白などを持つ個々のサイドバイサイドdivを作成しないということです。他のソリューションでは常にいくつかの列が重なっています。バックグラウンドを変更して別の列を作成します。このメソッドは、いくつかのメソッドとは異なり、任意の列を任意の高さにすることができます。その成功の秘訣は左の代わりにfloat: rightを使用しています。左に浮かせた場合、右に余分なスペースがあり、スクロールバーが発生するという問題があります。おそらくこの方法の唯一の欠点は、あなたの頭を包み込むのが難しいかもしれないということです!

こちらをご覧ください。 http://jsfiddle.net/wRCm6/2/

+0

私はCSSマージンを扱うときの寸法はマージンはありませんが、数字は単純なものです。一方、CSSは等幅の列を想定しています。幅の異なる列を使用する場合は、少し難しく考える必要があります。 – Moss

関連する問題