2009-05-28 18 views
0

私は3列のWebページを作成しています(ヘッダー&左のナビゲーションの上にあるメニューバー、メインエリア、右側のサイドバー、下部に全角フッターがあります)。私は各列の背景色を持っていますが、列全体を塗りつぶすのではなく、テキストの最後に切り落としています。テーブル(td)の使用に依存しない列全体を埋める方法はありますか?ここでcssの完全な高さ?

は、一般的なレイアウトのための私のCSSです:

#container 
{ 
    float: left; 
    width: 100%; /* IE doubles the margins on floats, this takes care of the problem */ 
    display: inline; /* this is where Ryan Brill (author of the ALA's article) and I go in "opposite directions" */ 
    margin-left: -200px; 
} 
#left 
{ 
    float: left; 
    width: 180px; /* IE doubles the margins on floats, this takes care of the problem */ 
    display: inline; 
    margin-left: 200px; 
    padding: 0px 0px 0px 5px; 
    background: url('/App_Themes/Default/images/RightColumnBackground.png') repeat left top; 
} 
#main 
{ 
    /* the width from #left (180px) + the negative margin from #container (200px) */ 
    margin-left: 380px; 
    padding: 0px 0px 0px 5px; 
} 
#sidebar 
{ 
    /* this is to keep the content of #sidebar to the right of #main even if the content of "main is shorter */ 
    padding-left: 100%; /* this is to "bring back" the #sidebar that has been moved out of the viewport because of the padding value */ 
    margin-left: -220px; 
} 

私は私のスタイルで高さを設定することができます知っているが、それは一定数のピクセルに高さをピン。 height: fill;タイプのオプションはありますか?

答えて

2

これは非常に一般的な問題です。良いアプローチはfaux columnsを使用することです。

1

現在、幅広いブラウザで広くサポートされているCSSはありませんが、ways of approximating itがあります。

+0

私の中心の列は可変幅なので、私はこれが私のためにはうまくいかないと思います(私は、スライドドア技術のやり方を理解しない限り)。たぶん、今のところ、小さなテーブルの使用は私が必要とするものをするでしょう。 < sigh/> –