float i background

0

Witam

<body style='background-color:white'>
<div style='background-color:black'>
<div style='float:left'>cos tam i cos jeszcze <br/> a nawet wiecej cos tam i czegos tam</div>
</div>

i problem taki ze background tego gdzie jest tekst bedzie bialy , wie ktos moze co zrobic zeby te float-owe divy tez lapaly background wyzszego diva??
mysle ze sie w miare sensownie to napisalem i ze ktos to zrozumie

0
<body style='background-color:white;'>
<div style='background-color:black;'>
<div style='float:left;'>cos tam i cos jeszcze <br/> a nawet wiecej cos tam i czegos tam</div>
</div>

Tak sprawdź.:)

0

To nie jest tak jak myślisz. Poczytaj więcej o elementach pływających ("floatach"). Element, który zawiera TYLKO elementy pływające, ma domyślnie wysokość równą zero.

U Ciebie po prostu ten zewnętrzny div z czarnym tłem jest zupełnie niewidoczny. Daj mu jakieś obramowanie to zobaczysz tylko poziomą kreskę: okaże się, że div ten ma wysokość zero, bo floaty nie rozciągają w pionie elementów.

Musisz zastosować tzw. clearfix. Pogooglaj o tym, są na to różne sposoby. Będziesz musiał dać zewnętrznemu elementowi div style, dzięki którym uwzględni on wysokość znajdującego się w nim elementu pływającego i odpowiednio się rozciągnie. Często wystarczy dać temu zewnętrznemu elementowi po prostu "overflow: hidden" -- to chyba najprostsza metoda, choć nie działa w IE6 (w IE6 musisz dodatkowo dać np. width: 100% czy zoom: 1, przy czym to ostatnie należy umieścić w arkuszu stylów tylko dla IE). Jest jeszcze metoda z pseudoklasą :after i paroma hackami dla słabszych przeglądarek. Bardziej skomplikowana, ale działa w zasadzie we wszystkich przypadkach -- nawet gdy nie można zastosować sztuczki z overflow. Mimo to, ja chyba częściej używam overflow.

@djgarsi:
Hm? Dodałeś średniki na końcu atrybutów style? Nie, to kompletnie nie o to chodzi. Średniki na samym końcu bloku deklaracji (lub: na końcu zawartości atrybutu style) są opcjonalne i ich brak niczego nie psuje. Chodzi o to, co napisałem powyżej.

0

mozesz przeciez sobie tez uzyc po prostu
do czyszczenia elementow float. clearfix metody uzywaja tez tej definicji stylu, z tym ze jest sprytniej zrobione i zakamuflowane w arkuszu, miedzy innymi przez ta pseudo klase :after . Jesli chodzi o html to ladniej to wyglada i nie tego codu
na koncu kazdego bloku z plywajacymi elementami . Na poczatek wystarczy ci jednak to, clearfix'em mozesz sie zajac jak bedziesz chcial zrobic twoj kod bardziej "elegancki". Kwestia gustu z reszta.

<body style='background-color:white;'>
<div style='background-color:black;'>
<div style='float:left;'>cos tam i cos jeszcze <br/> a nawet wiecej cos tam i czegos tam</div>
<br style="clear:both;"/>
</div>
</body>

1 użytkowników online, w tym zalogowanych: 0, gości: 1