※ ChatGPTを利用し、要約された質問です(原文:フロートを利用した2カラムレイアウト)
フロートを利用した2カラムレイアウトの段組みの間の空き具合をうまく調整する方法
このQ&Aのポイント
HTML+CSSにてサイト制作をしておりますが、IE6でフロートを利用した2カラムレイアウトの段組みの間の空き具合をうまく調整することができません。
左右の2カラムで成り立っており、右半分に重要なコンテンツ部分(主にテキスト)、左半分にメニューを配置しています。
800px-(680px+100px)=20pxを左右の段組みの間に空きスペースとして確保したいのですが、IE6だとうまくいきません。
お世話になります。
HTML+CSSにてサイト制作をしております。IE6のバグだと思うのですが、フロートを利用した2カラムレイアウトの段組みの間の空き具合をうまく調整することができません。なぜでしょうか??
形は、左右の2カラムで成り立っており、右半分に重要なコンテンツ部分(主にテキスト)、左半分にメニューをおいています。
【HTML】
<div id="wrapper">
<div id="right">
□□□□□□□□□□□□□□□□□□
□□□□□□□□□□□□□□□□□□(重要テキスト)
</div>
<div id="left">
□□□□□□□□□(メニュー)
</div>
</div>
【CSS】
#wrapper{
width:800px;
background:url();←省略
}
#right{
float:right;
width:680px;
}
#left{
float:left;
width:100px;
}
という感じです。それで、800px-(680px+100px)=20pxを左右の段組みの間に空きスペースとして確保したいのですが、IE6だとうまくいきません。
Firefox,safariなどでは、仕様通り左カラムは左に寄り、右カラムは右によるため、左右の段組みの間に20pxの空きが出るのですが、IE6だと左右の間にスペースはなく、かわりに右カラムの右(つまり、一番右)が空いてしまうのです。
floatを両方ともrightにして左カラムに右マージンorパディングを入れてみたのですが、今度はカラム落ちしてしまいます。
どうすれば、IE6で左右の間にスペースがある2段組みができるのでしょうか??なにか根本的に間違ってるのでしょうか?
お礼
うわ~~、できました! 本当に本当にありがとうございます!助かりました!サイトも無事に完成いたしました。なんとお礼を言えばいいものやら。。。 >liがfloatした事により高さが失われているのでそれをクリアする為の指定(これはIE独自の拡張属性)、続くul#globalnavi:afterとセットでその役目をします >display: block;←block要素化することで、以下に続くpadding-topと、複数行になった場合のpadding-leftが有効に(前回の指定だと2行になった時は1行目しか効いていません)なります なるほど~~きちんと意味を考えたら、答えはでるんですよね。なんか量が多くなると、いろんな指定をいろんなところでバラバラにやってしまっていて、気がついたらどこがどうなっているのか自分でもわからない。。。そういうふうになってしまっていました。 見切り発車でコーディングに入ると後でたいへんですね。 abril様、本当にありがとうございました!