下の背景画像、背景色が透けてしまう

[新着] Webテンプレートを仮オープンしました



0   名前: 刀根 : 2005/08/16 16:10
こんにちは。もし宜しければお知恵をお貸し下さい。
以下ようなhtmlとcssを作成しました。
bodyはパターン画像、body直下のdiv#title、#contents、#footerにはそれぞれ
#fffを背景に設定しています。
div#contents下にはbox、boxiesという2つのクラスがあり、
boxiesは、box2(width:50%)の2段組を囲んでいます。

位置、大きさ等は、意図した通りに表示されるのですが
#contentsの背景色#fffがboxiesの手前までしか敷かれず
boxiesの領域は、背景画像が透けてしまいます。
タグ閉じ損ないなどで#contentsの中におさまっていないのかと思ったのですが
タグの数はあっており、背景が透ける以外は#contentsへの指定が
ちゃんと反映されているように思います(#contentsの要素幅width: 580px内におさまっている)。

・試しに、boxとboxiesの表示順を入れ替えたところ
 きちんと全ての範囲に#fffが敷かれました。
・また、boxを一時的に消し、#contents下にboxiesのみがある状態にした場合は
 #fffは表示されませんでした(#contentsの領域は全て背景が透過)。
・#contentsの次に、#footerというボックスがありますが
 この#footerも、#contents下に内包する形にしたところ
 #fffは表示されました。

現状、#footerを#contents下に置くことで見た目を取り繕うことは出来ているのですが
何が原因で、このような状況になっていると考えられますか。
何らかの私のミスだろうと思うのですが、自分ではどうしても分からず…。
急ぎませんので、何かご指摘が頂ければと思い書き込みました。

[html]
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 〜中略〜
 <body>
 <div id="title">
  <h1>大見出し</h1>
 </div>

 <div id="contents">
  <div class="box">
   <h2>見出し</h2>
   <ul><li>リスト1</li>
   <li>リスト2</li>
   <li>…</li>
   </ul>
  </div>
  <div class="boxies">
   <div class="box2">
    <h2>見出し</h2>
    文章文章文章文章文章文章文章文章…
   </div>
   <div class="box2">
    <h2>見出し</h2>
    文章文章文章文章文章文章文章文章…
   </div>
  </div>
 </div>
 <!--div#contentsここまで-->

 <div id="footer">
  ここにフッタ
 </div>
 </body>
〜後略〜

[css]
 body { margin:0; padding:0; background-image: url(./img/back.gif) }
 div#title, div#contents, div#footer {
  width: 580px; padding: 10px;
  background-color: #fff;
  clear: both }
 div.box, div.boxies { clear: both }
 div.box2 { width: 50%; float: left }

1   名前: とおしすがり : 2005/08/16 16:10
   </div>
<br style="clear:left;">
  </div>
 </div>
 <!--div#contentsここまで-->

2   名前: 刀根 : 2005/08/16 16:10
ありがとうございます。背景が消える問題は解消されました。
重ねての質問になって恐縮ですが
div#footerへのclear:bothでは意味がないのでしょうか。

(2段組を内包するboxiesにもclear:bothを指定していますが
 MacIEだと、親要素にclearプロパティを指定すると
 子要素のfloatが効かなくなる、という現象もあるようですね)

3   名前: とおしすがり : 2005/08/16 16:10
失礼、質問を誤解していました。

一覧へ戻る