Autor Zpráva
Suta
Profil
Chci se zeptat, jak byste řešili můj problém.

1. Dejme tomu, že vytvořím v prohlížeči okno na bázi "windows okna". Toto okno bude mít tlačítko maximalizace, při jehož použití bude okno (např. absolutně pozicovaný element div) maximalizováno přes celou obrazovku (jednoduše nastavím vlastnosti width a height na 100% [rodičovský element nemá žádný řámeček či odsazení]).

2. Předchozí příklad funguje bezchybně do té doby, než přijde následující požadavek. V prohlížeči je ve spodní části zobrazena hlavní lišta (opět podobná té z windows). Na výšku má dejme tomu 40px. Pokud za tohoto stavu maximaluji okno, musí být nataženo tak, aby dole nezasahovalo do lišty. Tzn. jakoby 100% výšky okna - (minus) výška lišty.

Oříšek zní, jak nejlépe nastavit rozměry danému oknu. Samozřejmě můžu zjistit výšku okna prohlížeče, odečíst výšku lišty, a danému oknu nastavit tuto výslednou výšku. Nicméně poté přichází na řadu zmenšení / zvětšení okna samotného prohlížeče, což znamená kontrolu - přepočítávání a přenastavování výšky okna (oken) navázanou na událost onresize...

Existuje jednodušší řešení než uvedené v předchozím odstavci?

Díky všem za postřehy a radu.

Ilustrační příklad (pokud se nezobrazí obrázek níže)

Chamurappi
Profil
Reaguji na Sutu:
Jedna možnost je (jako u jednoho dřívějšího problému) přepnout box model. Ten W3C-výchozí obsahový se na výrobu uživatelských rozhraní vůbec nehodí. S okrajovým box modelem by mělo jít nastavit dolní padding.

Druhá možnost, která ovšem nefunguje ve starém Exploreru, je nastavit současně top a bottom — výška elementu se pak dopočítává.

Třetí možnost je dvojřádková tabulka, jejíž celková výška bude 100 % a druhý řádek bude mít výšku danou v pixelech.
Witiko
Profil
Suta:
A že jsem tak zvědavý - co to bude až to bude? :-)
Suta
Profil
Chamurappi:
Opět přímá, konstruktivní a přesná odpověď, díky moc. Jak je možné, že jsem o této skvělé vlastnosti (paralelně top-bottom či left/right) dosud nevěděl? Úžasná věc umožňující definovat konkrétní obdélník.

Witiko:
Odpověď je složitá. Obecně ale systém, na němž dělám už třetí rok a má sloužit pro univerzální použití. Mám hotových několik modulů a teď to postupně začínám slepovat. Konkrétní použití stále rozvíjím ve svých představách :)

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0