Přeskoč navigaci

Zde hledá Jyxo.

Jyxo

Vlastnost Float

(Ukázka z knihy CSS Kaskádové styly pro webdesignéry)

Vlastnost určuje, zdali má box plavat vlevo, vpravo, nebo vůbec neplavat. Může být nastavena jen pro prvky, které negenerují absolutně polohované boxy. Další podrobnosti naleznete v části Polohování.

Rychlý přehled vlastnosti

Možné hodnoty: left | right | none | inherit
Výchozí hodnota: none
Ovlivňuje: všechny prvky s výjimkou polohovaných a generovaného obsahu
Dědičná: ne
Procenta: -
Média: vizuální
Kompatibilita:
  • Internet Explorer 4.0 pro Windows s chybami
  • Internet Explorer 5.0 pro Windows s chybami
  • Internet Explorer 5.5+ pro Windows
  • Internet Explorer 4.0 pro Mac s chybami
  • Internet Explorer 4.5 pro Mac s chybami
  • Internet Explorer 5.0 pro Mac
  • Netscape Navigátor 4.x s chybami
  • Netscape Navigátor 6.0
  • Opera 3.5+

Význam hodnot

left
prvek generuje vlevo plovoucí box. Obsah obtéká zprava počínaje vrškem boxu. Vlastnost display je ignorována, pokud nemá hodnotu none.
right
prvek generuje vpravo plovoucí box. Obsah obtéká zleva počínaje vrškem boxu. Vlastnost display je ignorována, pokud nemá hodnotu none.
none
box neplave a obsah ho neobtéká
inherit
hodnota se zdědí po rodičovském prvku

Ukázka použití

Řekněme, že chcete do textu vložit obrázky tak, aby je text zleva či zprava obtékal, zároveň se však chcete vyhnout zavrženému (deprecated) atributu align značky <img>. Výchozí HTML kód vypadá takto:

<div class="box">
<img class="vpravo" src="obr1.jpg" alt="vzor" width="60" height="60" border="0">
<p>Lorem ipsum dolor sit amet, consectetaur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>
<img class="vlevo" src="obr1.jpg" alt="vzor " width="60" height="60" border="0">
<p>Lorem ipsum dolor sit amet, consectetaur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>
</div>

Když nyní na tento kód aplikujeme následující stylový předpis:

.box {
margin: 1em;
padding: 1em;
border: 1px solid #000;
width: 20em;
background: #eee;
}
img.vpravo {
float: right;
margin: 0.2em 0 0.2em 0.2em;
}
img.vlevo {
float: left;
margin: 0.2em 0.5em 0.2em 0;
}

dostaneme tento výsledek:

Příklad vlastnosti float 1

Na dalším příkladu si ukážeme, jak opticky rozdělit box na dva sloupce bez použití tabulky. HTML kód vypadá takto:

<div class="box2">
<div class="levy">
<h3>1. sloupec</h3>
<p>Lorem ipsum dolor sit amet, consectetaur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
</div>
<div class="pravy">
<h3>2. sloupec</h3>
<p>Lorem ipsum dolor sit amet, consectetaur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
</div>
</div>

a když na něj aplikujeme tento stylový předpis:

.box2 {
margin: 1em;
border: 1px solid #000;
width: 22em;
}
div.levy {
float: left;
padding: 1em 4%;
width: 42%;
background: #eee;
}
div.pravy {
float: right;
padding: 1em 4%;
width: 42%;
background: #ddd;
}

Bude výsledek vypadat jako na následujícím obrázku:

Příklad vlastnosti float 2

Ve skutečnosti ovšem není vícesloupcové rozvržení boxů nebo celých dokumentů tak jednoduché, neboť je třeba se vyrovnat s implementačními chybami prohlížečů a častečni i s omezenými možnostmi CSS2. Ve výše uvedeném příkladu by bylo třeba kompenzovat chybu IE ve výpočtu šířky boxu (projevuje se až do verze 5.5) a navíc by byl problém takto jednoduše docílit opticky stejné výšky obou sloupců v případě, že by jejich obsah nebyl stejně vysoký.

Další příklady naleznete u popisu vlastnosti clear a v části věnované Polohování.

Praktické využití

Vlastnost float má široké možnosti uplatnění např. pro obtékání obrázků nebo textových boxů, při tvorbě vícesloupcového rozvržení dokumentů nebo jejich částí, apod. Spolu s absolutním polohováním se jedná o nejrozšířenější techniku řízení rozvržení (layoutu) stránek podle moderní koncepce webdesignu, která pro layout nepoužívá tabulky.


Toto je ukázka z knihy Marka Prokopa CSS Kaskádové styly pro webdesignéry, kterou vydalo nakladatelství Mobil Media a.s. v roce 2003. Knihu si od nás můžete objednat za 280 Kč.

Tato stránka je přístupná libovolným prohlížečem, nejlépe však vypadá v prohlížeči, který podporuje HTML 4.0 a CSS 2 (Internet Explorer od verze 5, Mozilla, Opera a další). Pokud čtete tuto zprávu, váš prohlížeč zřejmě dostatečně nepodporuje CSS. Stránku sice vidíte bez pokročilejšího formátování, avšak veškerý obsah je plně přístupný i pro vás.