2009-07-28 6 views
1

固定サイズのサイドバーと流体コンテンツ領域のCSSレイアウトが必要です。問題は、このフォーマットのほとんどのCSSレイアウトは、サイドバーを配置するためにfloatを使用することです。このため、私はコンテンツ領域の内部と内部の両方をクリアにすることはできません。レイアウトの問題:固定サイズのサイドバーに流体の内容とクリアがあります

添付のHTMLをご覧ください。コンテンツ領域は、浮動小数点数でナビゲーションコンテンツの一番下までスキップされます。

このタイプのCSSレイアウトの解決策が必要ですが、コンテンツエリア内でフロート/クリアを使用することができます。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> 
    <style type="text/css" media="screen"> 
     body { 
      margin: 0; 
      padding: 0; 
     } 

     #nav { 
      float: left; 
      width: 160px; 
     } 

     #content { 
      margin: 0 0 0 200px; 
      background-color: green; 
     }  
</style> 
</head> 
<body> 
<div> 

    <div id="nav"> 

     This is the nav content<br/> 
     This is the nav content<br/> 
     This is the nav content<br/> 
     This is the nav content<br/> 
     This is the nav content<br/> 
     This is the nav content<br/> 
     This is the nav content<br/> 
     This is the nav content<br/> 
     This is the nav content<br/> 
     This is the nav content<br/> 
     This is the nav content<br/> 
     This is the nav content<br/> 
     This is the nav content<br/> 
     This is the nav content<br/> 
     This is the nav content<br/> 

    </div> 
    <div id="content"> 

     This is the main content<br/> 
     This is the main content<br/> 
     This is the main content<br/> 
     This is the main content<br/> 


     <div style="padding: 10px; float: left; width: 100px; background-color: yellow;">Left</div> 
     <div style="padding: 10px; float: right; width: 100px; background-color: orange;">Right</div> 

     <div style="clear: both;"> </div> 

     (This shouldn't be way down here) This is the main content<br/> 
     This is the main content<br/> 
     This is the main content<br/> 
     This is the main content<br/> 

    </div> 
</div> 
</body> 
</html> 

答えて

2

#navを「float:left;」に変更しました。 "位置:絶対;"それはあなたが望むことをするでしょうか?

+0

トップに追加する必要がありました。左:0; IEのためにも、これは動作します。本当にありがとう。それが単純な修正であるとき、あなたはそれを愛してはいけません。 –

0

これを試してみてください:クロスブラウザを動作しますが、浮動小数点数を使用することができますし、両方の列にクリアし、異なる数の列レイアウトの http://matthewjamestaylor.com/blog/perfect-2-column-left-menu.htm

その良いスターターを。また、全長の列の背景色を持つように修正されています。それはまた、メインのコラムを最初にHTMLの中で最初に来て、通常は中央のコンテンツとして重要ではない情報を持つ左のバーの後ろに置くことによって、SEOに優しいものです。

+0

それを調べる。これは完全にあなたの体になりますが、私はそれがどのように行われているかを把握して、固定および流動的レイアウトに適用することができます。 –

+0

固定する必要があるのは、メインラッパーと左側の列にpx幅を割り当てることだけです。あなたがそのページにいる場合は、左上をチェックしてください。3つのオプションがあります。「列を測定する:ピクセル幅」です。 – PetersenDidIt

関連する問題