Mohl by mi prosím někdo poradit nebo dát link jak nastavím velikost divu, viz nasledující kousek zdrojáku:
#main {width:780px;
height:auto;
}
#left { width:25%;
height: ?;
BACKGROUND-IMAGE: url('nejaky-obrazek');
}
#obsah { width:50%;
height: ?
}
#right { width:25%;
height: ?
BACKGROUND-IMAGE: url('nejaky-obrazek');
}
<div id="main">
<div id="left"></div>
<div id="obsah"> SEM INCLUDUJU RUZNE VELIKY OBSAH </div>
<div id="right"></div>
</div>
předem děkuji
To snad musíš vědět ty, jak to chceš mít vysoký, ne?
To esorimmer:
Nevím co sice myslíš, ale já to chápu tak, že to porovnáváš s různými prohlížeči (IE to veme v pohodě), ale třeba Mozilla či NN, když zadáš nějakou výšku u toho divu "obsah", tak ti obsah přetejká přes dolní hranici divu. To se stávalo právě mě, psal jsem už o tom tady, viz:
http://www.webzdarma.cz/forum/read.php?f=3&i=11596&t=11596
V jiným případě dělej to, co říká Novis.
Petr
to Novis..hm..ale vysoký právě že nevim, jelikož tam includuju různě vysokej obsah, jednou má 100px a podruhý třeba 500px? hm..?
to blahapet..jo máš pravdu, přesně tak, IE to roztáhne ale Mozilla či Opera ne..a to mě vadí, jelikož nedělám IE only..vím že jsi o tom ve foru už psal, ten tvůj případ jsem vyřešil, ale já mám trochu jiný..ten obsah se pružně roztáhne, ale ty obrázky co má v leftu a rightu na pozadí ne..tak jsem se ptal jestli není nějakej fígl s max- nebo min-width popřípadě nějakej s tímhle..
..přesto děkuji za odpověď
K tomuto dotazu bych se pripojil, protoze i mene se deje totez. Nacitam do stranky udaje z MySQL do tabulky a obcas mi data proste pretecou ohraniceni.
Nepomuze height: auto ani minimalni vyska... zatim bod pro MSIE, ktery to zvlada v poho. Da se to nejak resit? Nechci vygenerovany obsah nejak delit na stranky apod... thx
Jestli sem to dobre pochopil, pak by bylo nejlepsi nastavit minimalni vysku pro IE, zadano tak, aby to nesezraly ostatni prohlizece.
Uz to tu nekde bylo : height:expression("xyz"); nebo _height:xyz; (?)
Neni to zrovna echtovni...
Height bych vůbec neřešila - když ji nebudeme zadávat, tak se ty divy přece na výšku roztáhnou podle okamžité potřeby...
Nejsem si tak úplně jistá, jestli správně rozumím dotazu, ale nejspíš mluvíme o sloupcovém layoutu pomocí floatu (do ukázkového zdrojáku nahoře by v tom případě patřil ještě tenhle řádek: #left, #obsah, #right {float:left}).
V případě "zmizení" rodičovského prvku v Gecku jde o zcela správné chování - plovoucí prvky jsou vyjmuty z toku dokumentu a #main se formátuje, jako by v něm nic nebylo, a tudíž má nulovou výšku.
IE to opět "zvládá" zadupáním standardů do země :-p
Pokud chceme, aby rodičovský div (#main) skončil [i v moderních prohlížečích] teprve tehdy, až skončí všechny plovoucí prvky uvnitř, stačí tomu layoutu přidat patičku s clearem a je vystaráno :-)
viz ukázka:
#main {width:780px; background:#FFFFCC}
#left, #obsah, #right {float:left}
#left { width:25%; background: #CC6600 url('http://img.atlas.cz/b/atlascz.gif');}
#obsah { width:50%; background:#FF9900}
#right { width:25%; background:#FFCC99 url('http://jyxo.cz/img/jyxo5.gif');}
#footer {clear:left}
<div id="main">
<div id="left">left</div>
<div id="obsah">
obsah
Vušbu hronemyv zen vrež zerfr pes a mobo, lezu bréhřohru a libu, atd. Jen tak pro informaci, tohle je český dummy text :-)
</div>
<div id="right">right</div>
<div id="footer">footer</div>
</div>
Pro dokonalé pochopení doporučuju Pixyho článek:
http://www.pixy.cz/blog/2003_12_archiv.html#1071056082
2 Freya: Dik za pomoc, problem byl ale jinde...
Blokove zarovnani jsem predtim suploval divem s float:left. Ten stacilo odtranit a u predchazejiciho divu dat display:block. Pak uz to vse funguje...
ad IE: Tohle by mi na nem zas az tak nevadilo, standardy zadupava jinde i vic
Pokud by se neco takoveho delo i ostatnim pridavam link s resenim meho problemu.
http://interval.cz/clanek.asp?article=2895
To je právě článek plný podivného očůrávání, kvůli kterému napsal Pixy to plamenné vysvětlení. Stačí se mrknout do komentářů pod ním...
to Freya..dík, ale tím to nevyřeším..mě šlo o left a right, ne o jejich umístění ale roztáhnutí toho obrázku co je na pozadí toho leftu a rightu..no nic..zatím jsem to dal na pevno a ošetřil to overflow:auto..
to všici..díky za snahu o pomoc..
to Freay..jasan, když nedáš height, tak se ti roztáhnou auto, ale ten obrázek na pozadí v leftu a rightu ti zůstane velkej podle svý standard velikosti, což je u mě 15 pixelů na výšku (takto v IE) a v Mozille mi to hodí masakr..
Problém stylovaného sloupcového layoutu tkví v tom, že CSS prostě není kopírování tabulek - prohlížeči je zatěžko vysvětlit, proč by měl automaticky vykreslovat spoustu prázdného místa, když obsah končí po patnácti pixelech :-)
...ale co třeba tohle?
http://www.pixy.cz/blogg/clanky/css-3col-layout/
to Freya..dík, pak že jsou divy lepší než css, ale tohle s nima neuděláš..
sorry..už myslím na blbosti..divy lepší než tabulky..samo..:-)
Z mého pohledu nevyvstává vůbec žádná otázka, co je lepší nebo horší. Tabulky totiž nejsou žádný nástroj pro layout, a když prskneš normální obsah do tabulkových vláčků, je to znásilnění technologie.
To, že CSS se chová jinak, je samozřejmé. Proč by mělo napodobovat staré principy? Proč by sloupec nemohl třeba skončit na přirozeném místě a pak být obtékán obsahem z prostředního divu? Nebylo by to úspornější a logičtější?
btw, v tabulkovém layoutu neuděláš spoustu jiných věcí, které CSS zvládá s přehledem: třeba pozicování, vrstvení...
ale to se přizpůsobuješ technolgii ty, a né ona tobě..
Čím se přizpůsobuju technologii? Zkoušením nových postupů? :-)
ale zrovana css neuděláš jak nechceš použít overflow..
no tak mi řekni jak tohle uděláš bez tabulek, ja je nepreferuju a na svých stránkách už je nemám..ale jak tohle uděláš pomocí css?
esorimmer: Na svých stránkách nemáš tabulky? Ale máš a klidně by ses obešel bez nich jen s pomocí CSS. Dokonce by byl zdrojový kód s CSS daleko přehlednější.
No přece tak, jak to popsal Pixy v tom návodu, co jsem naposled linkovala :-) Napíšu sem tu adresu ještě jednou: http://www.pixy.cz/blogg/clanky/css-3col-layout/
to Kit..jasně..obešel..ještě tam nějaký zbyly..
to Freya..ještě jednou dík..ale tak to nevyřeším..
nic no..děkuji všem,,