LINUXSOFT.cz Přeskoč levou lištu

ARCHIV



   

> 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 | Články autora | přečteno 16525×

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:

  • Výška prvku je nastavena bez ohledu na vlastnost max-height
  • Jeli hodnota vlastnosti min-height větší než hodnota vlastnosti max-height, je hodnota vlastnosti max-height nastvena na hodnotu vlastnosti min-height.
  • Jeli vypočítaná výška větší než max-height, je výpočet proveden znovu, ale s hodnotou vlastnosti height rovnající se hodnotě max-height.

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

  • Výška prvku je nastavena bez ohledu na vlastnost min-height
  • Jeli vypočítaná výška menší než min-height, je výpočet proveden znovu, ale s hodnotou vlastnosti height rovnající se hodnotě min-height.

Šíř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:

  • Šířka prvku je nastavena bez ohledu na vlastnost max-width
  • Jeli hodnota vlastnosti min-width větší než hodnota vlastnosti max-width, je hodnota vlastnosti max-width nastavena na hodnotu vlastnosti min-width.
  • Jeli vypočítaná šířka větší než max-width je výpočet proveden znovu, ale s hodnotou vlastnosti width rovnající se hodnotě max-width.

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

  • Šířka prvku je nastavena bez ohledu na vlastnost min-width
  • Jeli vypočítaná šířka menší než min-width je výpočet proveden znovu, ale s hodnotou vlastnosti width rovnající se hodnotě min-width.

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.

Verze pro tisk

pridej.cz

 

DISKUZE

Opera a min/max-width/height 6.1.2005 20:42 Myreg K.
  L Re: Opera a min/max-width/height 7.1.2005 11:27 Vasek




Příspívat do diskuze mohou pouze registrovaní uživatelé.
> Vyhledávání software
> Vyhledávání článků

28.11.2018 23:56 /František Kučera
Prosincový sraz spolku OpenAlt se koná ve středu 5.12.2018 od 16:00 na adrese Zikova 1903/4, Praha 6. Tentokrát navštívíme organizaci CESNET. Na programu jsou dvě přednášky: Distribuované úložiště Ceph (Michal Strnad) a Plně šifrovaný disk na moderním systému (Ondřej Caletka). Následně se přesuneme do některé z nedalekých restaurací, kde budeme pokračovat v diskusi.
Komentářů: 1

12.11.2018 21:28 /Redakce Linuxsoft.cz
22. listopadu 2018 se koná v Praze na Karlově náměstí již pátý ročník konference s tématem Datová centra pro business, která nabídne odpovědi na aktuální a často řešené otázky: Jaké jsou aktuální trendy v oblasti datových center a jak je optimálně využít pro vlastní prospěch? Jak si zajistit odpovídající služby datových center? Podle jakých kritérií vybírat dodavatele služeb? Jak volit vhodné součásti infrastruktury při budování či rozšiřování vlastního datového centra? Jak efektivně datové centrum spravovat? Jak co nejlépe eliminovat možná rizika? apod. Příznivci LinuxSoftu mohou při registraci uplatnit kód LIN350, který jim přinese zvýhodněné vstupné s 50% slevou.
Přidat komentář

6.11.2018 2:04 /František Kučera
Říjnový pražský sraz spolku OpenAlt se koná v listopadu – již tento čtvrtek – 8. 11. 2018 od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Tentokrát bez oficiální přednášky, ale zato s dobrým jídlem a pivem – volná diskuse na téma umění a technologie, IoT, CNC, svobodný software, hardware a další hračky.
Přidat komentář

4.10.2018 21:30 /Ondřej Čečák
LinuxDays 2018 již tento víkend, registrace je otevřená.
Přidat komentář

18.9.2018 23:30 /František Kučera
Zářijový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 20. 9. 2018 od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Tentokrát bez oficiální přednášky, ale zato s dobrým jídlem a pivem – volná diskuse na téma IoT, CNC, svobodný software, hardware a další hračky.
Přidat komentář

9.9.2018 14:15 /Redakce Linuxsoft.cz
20.9.2018 proběhne v pražském Kongresovém centru Vavruška konference Mobilní řešení pro business. Návštěvníci si vyslechnou mimo jiné přednášky na témata: Nejdůležitější aktuální trendy v oblasti mobilních technologií, správa a zabezpečení mobilních zařízení ve firmách, jak mobilně přistupovat k informačnímu systému firmy, kdy se vyplatí používat odolná mobilní zařízení nebo jak zabezpečit mobilní komunikaci.
Přidat komentář

12.8.2018 16:58 /František Kučera
Srpnový pražský sraz spolku OpenAlt se koná ve čtvrtek – 16. 8. 2018 od 19:00 v Kavárně Ideál (Sázavská 30, Praha), kde máme rezervovaný salonek. Tentokrát jsou tématem srazu databáze prezentaci svého projektu si pro nás připravil Standa Dzik. Dále bude prostor, abychom probrali nápady na využití IoT a sítě The Things Network, případně další témata.
Přidat komentář

16.7.2018 1:05 /František Kučera
Červencový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 19. 7. 2018 od 18:00 v Kavárně Ideál (Sázavská 30, Praha), kde máme rezervovaný salonek. Tentokrát bude přednáška na téma: automatizační nástroj Ansible, kterou si připravil Martin Vicián.
Přidat komentář

   Více ...   Přidat zprávičku

> Poslední diskuze

31.7.2023 14:13 / Linda Graham
iPhone Services

30.11.2022 9:32 / Kyle McDermott
Hosting download unavailable

13.12.2018 10:57 / Jan Mareš
Re: zavináč

2.12.2018 23:56 / František Kučera
Sraz

5.10.2018 17:12 / Jakub Kuljovsky
Re: Jaký kurz a software by jste doporučili pro začínajcího kodéra?

Více ...

ISSN 1801-3805 | Provozovatel: Pavel Kysilka, IČ: 72868490 (2003-2024) | mail at linuxsoft dot cz | Design: www.megadesign.cz | Textová verze