2011-02-14 8 views
5

背景色を持つためには次のdivが必要です - 単純です。しかし、正しく動作しません。私はいくつかのテストをして、それを台無しにしているスパンの浮きを考え出しました。だから、私はこれをどのように修正するのですか?div背景色が左に浮かんでいる入力で動作しません

.days{ 
background-color:#000; 
} 

span { 
display:block; 
width:200px; 
float:left; 
} 

<div class="days"> 
     <span> 
     <input id="Field9" name="Field9" type="checkbox" value="" size="3" maxlength="4" tabindex="4" /> 
     <label class="days" >Monday</label> 
     </span> <span> 
     <input id="Field5" name="Field10" type="checkbox" value="" size="3" maxlength="4" tabindex="4" /> 
     <label class="days" >Tuesday</label> 
     </span> <span> 
     <input id="Field5" name="Field11" type="checkbox" value="" size="3" maxlength="4" tabindex="4" /> 
     <label class="days" >Wednesday</label> 
     </span> <span> 
    <!-- goes till sunday --!> 
</div> 
+0

に固定されたバージョンを見ることができます。 – wsanville

答えて

5

要素を浮動させると、ドキュメントの通常の流れから取り除かれ、その結果、浮動していない他の要素はそれらのための余裕を持たない。

あなたが見ているのは、あなたのdivがフローティングになっているので、子要素の完全な高さを取らなくなっていることです。浮動小数点数を「クリア」または元に戻すだけで、daysが完全な高さになり、その背景色が表示されます。 、クリアフロートに関する詳細情報については

.days 
{ 
    background-color:#000; 
    overflow: hidden; 
} 

overflow: hidden方法の説明が含まれ、それについてQuirksmode.orgの記事を、チェックアウト:フロートをクリアする私の好適な方法は、あなたが要素overflow: hiddenを含む与えることです。

+0

それを修正した甘い、しかし私はなぜ理解していない。 w3schoolsによると、隠れたクリップがオーバーフローし、コンテンツの残りの部分が見えなくなるので、オーバーフローの隠れた作品を説明してください。 – dgamma3

+0

フロートをクリアする3つの一般的な方法があります。 1つは 'overflow:hidden 'を使用することです。これは私の選択方法です(これは1つのライナーです)。もう1つは、 'div'の終了タグの前に' clear:both'という余分な要素を置き、もう一つはCSSの 'content'属性を使うことです。私は関連するリンクで私の答えを更新します。 – wsanville

0

あなたは、<span>background-colorを適用<div class="days">に高さを設定する、またはCSS clear:both;<span>以下<div>を置くことができます。

0

divの背景色を変更できないとします。要素が `display`属性に従わない浮かべ、` `あなたのspan`タグの;ブロック:あなたが`表示を取り除くことができますhttp://jsfiddle.net/FazXG/2/

関連する問題