CSS (18.) - Rozměry

V tomto díle se seznámíme s vlastnostmi kaskádových stylů s jejichž pomocí můžeme nastavovat rozměry jednotlivých prvků.

6.1.2005 15:00 | Vasek | přečteno 16919×

Výška prvku

Pokud chceme specifikovat výšku boxu, použijme vlastnost height. Jako její hodnota se používají čísla, procenta a klíčová slova.

height
Hodnoty: auto | <velikost> | <procenta> | inherit
Výchozí hodnota: auto
Ovlivňuje: všechny prvky, vyjma nenahrazených řádkových prvků, sloupců tabulek a skupin sloupců
Dědičná: ne
Procenta: z výšky boxu (podrobněji níže)
Média: vizuální
  auto výška vychází z ostatních vlastností
  <velikost> nastavuje výšku na danou hodnotu, velikost nesmí být záporná
  <procenta> výška se odvozuje z procentuální výšky boxu generovaného obsahu. Pokud není výška generovaného boxu stanovena, vychází se z výšky obsahu, záporné hodnoty není možné používat
  inherit hodnota se dědí po rodičovském prvku

Tato vlastnost umožňuje nastavit výšku blokových a nahrazovaných prvků. Pokud použijeme tuto vlastnost pro nenahrazovaný řádkový prvek, je výška zadaná touto vlastností ignorována a řídí se podle vlastnosti line-height (viz díl. č. 16). Nahrazované prvky mají svoji vnitřní výšku, ale pokud je výška nastavena vlastností height na jinou hodnotu než auto, může ji klient patřičně zvětšit/zmenšit. Při nastavení výšky pomocí procent je za základ brána výška omezujícího bloku. Pokud tato výška (omezujícího bloku) není definována klient se zachová, jako by byla nastavena hodnota auto. Klient může, ale nemusí interpretovat procenta relativně k výšce okna prohlížeče.

Příklad použití

div.nabidka{
height: 20px
}
p{
height: 50%
}

Podpora v prohlížečích

NN4 částečná podpora; Mozilla (Netscape 6+) plná podpora všemi verzemi; IE plná podpora od verze 4; Opera plná podpora od verze 3,5; IE 5/MAC plná podpora; Konqueror plná podpora.

Maximální výška prvku

Pokud chceme omezit maximální výšku prvku, použijeme vlastnost max-height. Jako její hodnota se používají čísla, procenta a klíčová slova.

max-height
Hodnoty: none | <velikost> | <procenta> | inherit
Výchozí hodnota: none
Ovlivňuje: všechny prvky, vyjma nenahrazených řádkových prvků, sloupců tabulek a skupin sloupců
Dědičná: ne
Procenta: z výšky obsahujícího boxu
Média: vizuální
  none výška prvku není nijak omezena
  <velikost> určuje maximální výšku prvku danou hodnotou
  <procenta> určuje maximální výšku,výška se odvozuje z procentuální výšky boxu generovaného obsahu. Pokud není výška generovaného boxu stanovena, vychází se z výšky obsahu.
  inherit hodnota se dědí po rodičovském prvku

Tato vlastnost umožňuje nadefinovat maximální výšku prvku. Jelikož tuto vlastnost v současnosti (prosinec 2004) podporují jen prohlížeče založené na jádře Gecko, a to jen ještě částečně, nelze ji používat.

Příklad použití

p.konec {
max-height: 15em
}

Podpora v prohlížečích

NN4 nepodporuje; Mozilla (Netscape 6+) částečná podpora; IE nepodporuje; Opera nepodporuje; IE 5/MAC nepodporuje; Konqueror nepodporuje.

Minimální výška prvku

Pokud chceme také omezit minimální výšku prvku, použijeme vlastnost min-height. Jako její hodnota se používají čísla, procenta a klíčová slova.

min-height
Hodnoty: <velikost> | <procenta> | inherit
Výchozí hodnota: 0
Ovlivňuje: všechny prvky, vyjma nenahrazených řádkových prvků, sloupců tabulek a skupin sloupců
Dědičná: ne
Procenta: z výšky obsahujícího boxu
Média: vizuální
  <velikost> určuje minimální výšku prvku danou hodnotou
  <procenta> určuje minimální výšku,výška se odvozuje z procentuální výšky boxu generovaného obsahu. Pokud není výška generovaného boxu stanovena, vychází se z výšky obsahu.
  inherit hodnota se dědí po rodičovském prvku

Tato vlastnost umožňuje nadefinovat minimální výšku prvku. Obdobně jako vlastnost max-height je vlastnost min-height v současnosti (prosinec 2004) podporována jen prohlížeči založenými na jádře Gecko, a to jen ještě částečně, takže ji nelze používat.

Příklad použití

p.zacatek {
min-height: 5em
}

Podpora v prohlížečích

NN4 nepodporuje; Mozilla (Netscape 6+) částečná podpora; IE podporuje jen u prvků uvnitř tabulek; Opera nepodporuje; IE 5/MAC nepodporuje; Konqueror nepodporuje.

Propojení předcházejících vlastností

Vlastnost max-height může ovlivnit vlastnost height těmito způsoby:

Vlastnost min-height může ovlivnit vlastnost height těmito způsoby:

Šířka prvku

Pro nastavení šířky prvku je možné použít vlastnost width. Jako její hodnota se používají klíčová slova, číslo, procento či délka.

width
Hodnoty: auto | <velikost> | <procenta> | inherit
Výchozí hodnota: auto
Ovlivňuje: všechny prvky, vyjma nenahrazených řádkových prvků, řádků tabulek a skupin řádků
Dědičná: ne
Procenta: z šířky boxu (podrobněji níže)
Média: vizuální
  auto šířka vychází z ostatních vlastností
  <velikost> nastavuje šířku na danou hodnotu, velikost nesmí být záporná
  <procenta> šířka se odvozuje z procentuální šířky boxu generovaného obsahu. Pokud není šířka generovaného boxu stanovena, vychází se z šířky obsahu, záporné hodnoty není možné používat
  inherit hodnota se dědí po rodičovském prvku

Tato vlastnost umožňuje nastavit šířku blokových a nahrazovaných prvků. Pokud použijeme tuto vlastnost pro nenahrazovaný řádkový prvek, je šířka zadaná touto vlastností ignorována a řídí se šířkou obsahu. Nahrazované prvky mají svoji vnitřní šířku, ale pokud je šířka nastavena vlastností width na jinou hodnotu než auto, může ji klient patřičně zvětšit/zmenšit. Při nastavení šířky pomocí procent, je za základ brána šířka omezujícího bloku. Pokud tato šířka (omezujícího bloku) není definována, klient se zachová, jako by byla nastavena hodnota auto. Klient může, ale nemusí, interpretovat procenta relativně k šířce okna prohlížeče.

Příklad použití

div {
width: 12em
}

Podpora v prohlížečích

NN4 podpora s chybami; Mozilla (Netscape 6+) plná podpora všemi verzemi; IE podpora od verze 4 s chybami (plná podpora ve verzi 6 ve sriktním režimu); Opera plná podpora od verze 4; IE 5/MAC plná podpora; Konqueror plná podpora.

Maximální šířka prvku

Pokud chceme omezit maximální šířku prvku použijeme vlastnost max-width. Jako její hodnota se používají čísla, procenta a klíčová slova.

max-width
Hodnoty: none | <velikost> | <procenta> | inherit
Výchozí hodnota: none
Ovlivňuje: všechny prvky, vyjma nenahrazených řádkových prvků, sloupců tabulek a skupin sloupců
Dědičná: ne
Procenta: z výšky obsahujícího boxu
Média: vizuální
  none šířka prvku není nijak omezena
  <velikost> určuje maximální šířku prvku danou hodnotou
  <procenta> určuje maximální šířku,šířka se odvozuje z procentuální šířky boxu generovaného obsahu. Pokud není šířka generovaného boxu stanovena, vychází se z šířky obsahu.
  inherit hodnota se dědí po rodičovském prvku

Tato vlastnost umožňuje nadefinovat maximální šířku prvku. Jelikož tuto vlastnost v současnosti (prosinec 2004) nepodporuje program Internet Explorer pro Windows, proto bych vám doporučil se na ni nespoléhat.

Příklad použití

#dokument {
width: 75%
max-width: 35em
}

Pokud bychom uzavřeli veškerý obsah stránky do tagu <div> s id dokument, pro který bychom použili výše nadefinovaný stylový předpis, choval by se náš dokument takto: šířka textu by byla 75% šířky okna, ale jen do té doby, dokud by se těchto 75% bylo menší než 35em. Pokud by šířka textu měla přesáhnout 35em, vlastnost max-width to neumožní, a nastaví tuto šířku na 35em. Toto řešení má tu výhodu, že šířka textu se mění v závislosti na šířce okna prohlížeče, ale jen do té doby, než by měla přesáhnout konkrétní hodnotu. Tento způsob nastavení šířky textu funguje relativně nejen k šířce prohlížeče, ale díky použití jednotky em u vlastnosti max-width i relativně k velikosti písma. Jedinou nevýhodou této metody je to, že nefunguje v IE.

Podpora v prohlížečích

NN4 nepodporuje; Mozilla (Netscape 6+) částečná podpora; IE nepodporuje; Opera nepodporuje; IE 5/MAC nepodporuje; Konqueror nepodporuje.

Minimální šířka prvku

Pokud chceme také omezit minimální šířku prvku, použijeme vlastnost min-width. Jako její hodnota se používají čísla, procenta a klíčová slova.

min-width
Hodnoty: <velikost> | <procenta> | inherit
Výchozí hodnota: 0
Ovlivňuje: všechny prvky, vyjma nenahrazených řádkových prvků, sloupců tabulek a skupin sloupců
Dědičná: ne
Procenta: z šířky obsahujícího boxu
Média: vizuální
  <velikost> určuje minimální šířku prvku danou hodnotou
  <procenta> určuje minimální šířku,šířka se odvozuje z procentuální šířky boxu generovaného obsahu. Pokud není šířka generovaného boxu stanovena vychází se z šířky obsahu.
  inherit hodnota se dědí po rodičovském prvku

Tato vlastnost umožňuje nadefinovat minimální šířku prvku. Obdobně jako vlastnost max-height není vlastnost min-height v současnosti (prosinec 2004) podporována Internet Explorer pro Windows, proto bych vám doporučil se na ní nespoléhat.

Příklad použití

#kraj {
min-width: 5em
}

Podpora v prohlížečích

NN4 nepodporuje; Mozilla (Netscape 6+) plná podpora; IE nepodporuje; Opera nepodporuje; IE 5/MAC nepodporuje; Konqueror nepodporuje.

Propojení předcházejících vlastností

Vlastnost max-width může ovlivnit vlastnost width těmito způsoby:

Vlastnost min-width může ovlivnit vlastnost width těmito způsoby:

Závěr

Dnes jsem se seznámili vlastnostmi kaskádových stylů pro nastavení šířky a výšky prvku. U všech těchto vlastností je potřeba počítat s nesprávnou interpretací těchto rozměrů prohlížečem Internet Explorer, který šířku/výšku, definovanou pomocí vlastností width/height, neinterpretuje jako šířku/výšku prvku (jak je definováno), ale započítává do ní i oblasti padding a border (jimiž se budeme zabývat v nějakém z dalších dílu našeho seriálu). Proto je potřeba počítat s rozdílným způsobem zobrazení dokumentu v různých prohlížečích.

Online verze článku: http://www.linuxsoft.cz/article.php?id_article=600