2012-03-01 5 views
1

私は、ウィンドウ全体を塗りつぶす3つの列を持つレイアウトを作ろうとしています。中央の列はページの中央に配置し、幅は固定してください(ピクセル単位で、パーセントではありません)。左と右のdivの幅は同じにする必要がありますが、幅は残りのウィンドウの幅によって異なります。固定幅センター3列レイアウトの作成方法は?

<div id="wrapper"> 
    <div id="left"> 
     left content 
    </div> 
    <div id="middle"> 
     middle content 
    </div> 
    <div id="right"> 
     right content 
    </div> 
</div> 

ばかりCSS(なしはJavaScript)でこのレイアウトを行う方法があります:ここで

は、HTMLのですか?そうでない場合は、テーブルでそれを行うことは可能ですか?

これまでに3つの列レイアウトで見つかったカップルのリンクがあります。私が必要とする制約はありません。あなたの助けを事前に

http://www.dynamicdrive.com/style/layouts/category/C10/
http://matthewjamestaylor.com/blog/perfect-3-column.htm

感謝。

編集:(ピクセル値)

middle.width = 500 
left.width = right.width = (window.width <= 500) ? 0 : (window.width - 500)/2; 

編集:ここでは
は、JavaScriptのソリューションです:あなたが試すことができます

window.onresize = function() { 
    var width = ((window.innerWidth - 500)/2) + "px"; 
    document.getElementById("right").style.width = width; 
    document.getElementById("left").style.width = width; 
}​ 
+0

http://960.gs/ – Zoidberg

答えて

0


具体的には、私は保持するために、以下のようになります幅= 100%および3列の表を使用して、中間列の静的幅を設定します。

<table width="100%"> 
    <tr> 
    //left col 
     <td> 
     </td> 

    //main col 
    <td style="width:500px;"> 
    </td> 

    //right col 
    <td> 
    </td> 

    </tr> 
</table> 

各列にdiv要素またはpなどのブロック要素を挿入しようと、空の列が奇妙な挙動を示すことが:)

+0

を見てみましょうああ、素晴らしい作品: HTTP ://jsfiddle.net/wRL3j/26/ 左右のデータ要素にスペースを入れて、折り畳まれないようにしました。 悲しいことに、これは使用できません。なぜなら、中央の要素には最小の幅があり、画面が折りたたまれたときにアーティファクトが存在するからです。 – nikdeapen

+0

編集:最小幅がありますが、左側のtd要素は完全に折りたたまれません。 – nikdeapen

+0

あなたは#leftと#rightに最小幅を追加しようとしましたか? http://jsfiddle.net/wRL3j/37/ – Liviu

関連する問題