Egy dobozból úsztatott objektumot készíteni a
float
tulajdonsággal lehet. Ennek
alapértelmezett értéke none
, azaz nincs úsztatva a doboz.
right
érték esetén a doboz jobbra, left
érték esetén
pedig balra lesz úsztatva. Lássuk erre a következő példát:
A példában szereplő IMG doboza balra van úsztatva. A tartalom, amely ezt követi a P elemben (zöld háttérrel), a kép jobboldalán található, és mint a színezett háttér mutatja, ugyanabban a sorban kezdődik, ahol a kép doboza. A képtől jobbra levő sordobozok rövidebbek az úsztatott objektum miatt, de visszakapják az eredeti szélességüket az úsztatott objektum alatt. A példán az is látható, hogy az úsztatott kép a P elem dobozán belül maradt.
A szomszédos dobozok margójával az úsztatott objektumok margói soha nem egyesülnek.
Egy úsztatott objektum átfedésbe kerülhet más dobozokkal, amelyek a normál megjelenítési módszer szerint kerülnek az oldalra. Amikor egy sorbeli doboz kerül átfedésbe úsztatott objektummal, a sorbeli doboz tartalma, háttere és kerete az úsztatott objektum előtt jelenik meg. Amikor blokk-doboz kerül átfedésbe az úsztatott objektummal, a háttere és a kerete az úsztatott objektum mögött jelenik meg, és csak akkor látható, ha az úsztatott objektum átlátszó. A tartalma a doboznak ekkor is az úsztatott objektum elé kerül.
Amennyiben az úsztatott objektum átlóg a következő dobozba, akkor is a fenti szabály érvényes:
A szabványból vett illusztráción látható, hogy az úsztatott objektum hogyan viselkedik amennyiben átnyúlik az egyik bekezdésdobozból a másikba. Általában ez egy szerencsés viselkedés, de néha előfordul, hogy nem ezt szeretnénk.
Ha azt szeretnénk, hogy a következő doboz tartalma mindenképpen az úsztatott
objektum alá kerüljön, akkor használjuk ennek kikényszerítésére a
clear
tulajdonságot, és a
következő – szintén a szabványból kimásolt – ábrán látható eredményt
kaphatjuk:
A fenti ábrához mindössze a következő szabályra volt szükség:
Mint a fenti ábrán látható, bár mindkét bekezedésnél be van állítva a
clear: left
tulajdonság, mégis csak a másodiknál látszik ennek
hatása. Ennek az az oka, hogy az úsztatott objektum az első bekezdésen belül
található, így arra már nem lehet hatással a clear
tulajdonsága. A
második bekezdés viszont már lecsúszik az úsztatott objektum alá. Az ábrán az is
látszik, hogy ezt a böngészőnek úgy kell megoldania, hogy a második bekezdés
dobozához tartozó margót növeli meg a szükséges mértékig. Ezt azért is célszerű
tudnunk, mert ez egyben azt is jelenti, hogy a margó növelésével nem tudjuk az
úsztatott objektumtól eltávolítani a következő dobozt. Ennek a problémának a
kivédésére több módszer is lehetséges:
clear
tulajdonságát állítsuk be
megfelelően, így az ehhez tartozó doboz felső margója fog megnyúlni. Az ebbe
tett doboz felső margója pedig már a DIV elem tetejétől fogja tovább lefele
tolni a dobozt.