2011-02-14 17 views
5

Potrzebuję następującego elementu div, aby mieć kolor tła - proste prawo. Ale nie działa poprawnie. Zrobiłem kilka testów i odkryłem pływaki na przęsłach, które je skręcają. Jak to naprawić?Kolor tła div nie działa z wejściami pływającymi w lewo

.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

Możesz pozbyć się 'display: block;' na twoich znacznikach 'span', elementy pływające nie są zgodne z atrybutem' display'. – wsanville

Odpowiedz

5

Gdy pływak elementy, wziąć je z normalnego przepływu dokumentów, w wyniku czego, inne elementy spoza płynął nie zrobić miejsce dla nich.

To, co obserwujesz, to to, że twój div nie bierze już pełnej wysokości swoich elementów potomnych, ponieważ są one pływające. Wszystko, co musisz zrobić, to "wyczyścić" lub cofnąć pływające, i zrobić days wziąć pełną wysokość, a jego kolor tła pokaże. Mój preferowany sposób rozliczania pływaków jest dać zawierający elementu overflow: hidden:

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

Aby uzyskać więcej informacji na temat usuwania pływaków, sprawdź Quirksmode.org artykuł na ten temat, która zawiera wyjaśnienie sposobu overflow: hidden.

+0

słodko, który to naprawił, ale nie rozumiem dlaczego. czy możesz wyjaśnić, jak działa ukryty przelew, ponieważ zgodnie z przepełnieniem w3schools ukryte klipy przepełnienia, a reszta treści będzie niewidoczna. – dgamma3

+0

Istnieją trzy popularne metody czyszczenia pływaków. Jedną z nich jest użycie 'overflow: hidden', która jest moją metodą wyboru (jest to jedna linijka). Drugi to wstawienie dodatkowego elementu z 'clear: both' przed tagiem zamykającym' div', a trzecim jest użycie atrybutu "content" CSS. Zaktualizuję swoją odpowiedź odpowiednimi linkami. – wsanville

0

Można też zastosować background-color do <span> ustawić wysokość do <div class="days">, lub umieścić <div> poniżej <span> z CSS clear:both;.