Autor Zpráva
KMPS
Profil *
hoj,
chtěl bych mít div přes 80% velikosti obrazovky...
mám vysokou patičku, takže když dám height="80%" tak mám div vysoký cca 60px...

lze tedy roztahnout div i jinak, než před výpisem měřit velikost/rozlišení obrazovky?

díky
Trejpa
Profil
KMPS:
Výšku musí mít zadanou i obalující blok, ke kterému se procenta vztahují.

K výšce okna můžeš relativně přistoupit přes elementy HTML a BODY: ukázka
KMPS
Profil *
to je sice hezký ale já patičku mám pevně danou... nemohu jí určovat v %...
Camo
Profil
KMPS:
Niečo mi hovorí, že hľadáš "patičku vždy dole": http://ryanfait.com/sticky-footer/ alebo: http://weblog.plavacek.net/2005-02.html
To prvé riešenie som použil naposledy.
Trejpa
Profil
KMPS:
nemohu jí určovat v %...
Tak ji urči v pixelech a třeba absolutní pozicí odspod. Ale smiř se s tím, že onen 80% <div> bude na patičku navazovat jen při jediné výšce viewportu, při nižší bude patička přesahovat přes <div>, při delší na něj zase nebude navazovat.

Nechápu, proč by měl mít ten <div> zrovna výšku 80 % a ne hodnotu výšky okna bez patičky.
KMPS
Profil *
Trejpa:
třeba absolutní pozicí odspod

když bude absolute tak bude zasahovat do divu...

Nechápu, proč by měl mít ten <div> zrovna výšku 80 % a ne hodnotu výšky okna bez patičky.
jaký je rozdíl mezi 100% + patička
a 80% + patička?


Camo:
tam se šířka určuje v px nikoli v % na to jsem se neptal...


asi nezbyde než vypočítávat výšku prohlížeče...
Chamurappi
Profil
Reaguji na KMPSe:
já patičku mám pevně danou... nemohu jí určovat v %
tam se šířka určuje v px nikoli v % na to jsem se neptal
Šířka nehraje při manipulaci s výškou žádnou roli. Jestli ses přeřekl a myslel jsi výšku, pak jsem trochu zmaten. Mohl bys prosím znovu shrnout, na co se vlastně ptáš? Případně načrtnout, jak by měl vypadat výsledek?

asi nezbyde než vypočítávat výšku prohlížeče...
To skoro určitě nepotřebuješ.
Camo
Profil
KMPS:
Podľa mňa ty ani nevieš čo chceš. A myslím si, že nakoniec to bude to čo som ti poslal.
Trejpa
Profil
KMPS:
80 % (tj. DIV) + cokoliv px (tj. patička) 100 % výšky okna (prakticky nikdy)

Co to má dělat, když pevná výška patičky vychází méně, než aktuálních 20 % výšky okna?
Obvykle mezi objekty zbývá nějaké místo do 100% výšky, takže se zobrazí mezera.

Co to má dělat, když pevná výška patičky vychází více, než aktuálních 20 % výšky okna?
Do vyhrazené výšky okna se oba objekty nevlezou, takže část jednoho musí chybět (třeba překryvem).


Možná nepotřebuješ DIV vysoký 80 %, ale vyplnit zbytek výšky, tedy výšku okna mínus výšku patičky.
KMPS
Profil *
Trejpa:
80 % (tj. DIV) + cokoliv px (tj. patička) ≠ 100 % výšky okna (prakticky nikdy)

pokud do divu dám height="80%" tak ano...

Camo:
Podľa mňa ty ani nevieš čo chceš. A myslím si, že nakoniec to bude to čo som ti poslal.
vím naprosto přesně co chci a ty jsi pouze poslal jak to nastavit pevnou výškou to je mi k ničemu
momentálně div pevně na PX mám nastavený ale když někdo doleze s obrazovkou 1920x1200
bude mít div sotva přes půl stránky...


zkrátka chci divem pokrývat výšku 80% velikosti obrazovky
tak jak sem psal již nazačátku...


Camo:
pro ty méně chápavé :D
když někdo přijde s 1920x1080 bude mít div 864px
když někdo přijde s 1920x1200 bude mít div 960px
atd


Trejpa:
Co to má dělat, když pevná výška patičky vychází více, než aktuálních 20 % výšky okna?
Do vyhrazené výšky okna se oba objekty nevlezou, takže část jednoho musí chybět (třeba překryvem).
jenže já nechci nic překrývat ... proč bych měl něco proboha překrývat... je tu posuvník ne?
patička sice bude koukat jen z 20% ale po srolování níž bude vidět celá... když patičce nebo divu dám absolute tak přece jiné oběkty překryje ne?


vyřešil jsem to takto...
nemá smysl se tu dohadovat že nevím co chci...


<script language="JavaScript" type="text/javascript">
<!--
document.write('<div width="100%" height="'+(escape(window.screen.height)*0.8)+'" id="chat"></div>');
//--></script><noscript><div width="100%" height="600" id="chat"></div></noscript>
Camo
Profil
KMPS:
pro ty méně chápavé :D
A ako by si označil autora tejto vety:
tam se šířka určuje v px nikoli v % na to jsem se neptal...
Trejpa
Profil
KMPS:
patička sice bude koukat jen z 20% ale po srolování níž bude vidět celá
Konečně se dostáváme k jádru. Fajn, první DIV 80% výška, navazující patička určené výšky, když okno nevyplní, bude pod patičkou mezera, když bude větší, bude posuvník. Takže třeba moje řešení hned za začátku, akorát patička nastavená v pixelech. příklad

Pokud se má DIV natahovat podle potencionálně delšího obsahu, tak nepoužij overflow a místo height užij vlastnost min-height.

když patičce nebo divu dám absolute tak přece jiné oběkty překryje ne?
Když chceš, tak se objekty překryjí. Když nechceš, tak ne. příklad


když někdo přijde s 1920x1080 bude mít div 864px
To asi těžko. Rozlišení monitoru a velikost průzoru v prohlížeči prakticky nikdy nejsou totožné.

pro ty méně chápavé
Když tvému problému přes veškerou snahu neporozumí ani napodruhé tři diskutující, kteří se i přes to snaží pomoci, tak bys místo jejich urážení mohl uvážit, že by chyba mohla být někde jinde.
KMPS
Profil *
Trejpa:
Když chceš, tak se objekty překryjí. Když nechceš, tak ne. příklad
to je to co jsem hledal, díky :)

že by chyba mohla být někde jinde.
pokud se někdo naváží do mě neumím si neodpustit nerýpnout si... rozhodně to nebyla urážka ;)
Trejpa
Profil
KMPS:
Zrovna druhý příklad jsem uváděl pro zajímavost, že to jde, ne, že by se to tak mělo dělat. První příklad při zmíněné úpravě totiž umožňuje natahování DIV podle obsahu, ten s pozicováním ne.
Camo
Profil
KMPS:
rozhodně to nebyla urážka
Ty si ale neni z tejto planéty že nie?
Chamurappi
Profil
Reaguji na KMPSe:
'<div width="100%" height="'+(escape(window.screen.height)*0.8)+'"
pokud do divu dám height="80%" tak ano...
On v nějakém prohlížeči funguje atribut height, na <div>u? Očekával bych, že ho všechny prohlížeče budou ignorovat. Totéž width.

pokud se někdo naváží do mě neumím si neodpustit nerýpnout si
Tak se to nauč. Nebo se příště zeptej na nějakém jiném fóru, kde náležitě ocení tvoji osobní hrdost tím, že ti na nepříliš jasný dotaz neodpoví vůbec.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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

0