PDA

Pogčedajte punu verziju : Tableless 3-col layout + tableless forms


McChoban
05. 08. 2006., 02:00
Problem je jednostavan, dakle treba mi tableless layout s 3 kolone
(leva: fiksna, srednja: liquid, desna: fixna)
i rešenje koje će da mi prikaže isto tako tableless formu u srednjoj koloni.
Konkretno mislim na formu gde je label levo a input-i desno, a labeli su desno-poravnati, i da to bude cross-browser (barem za IE6+, Firefox 1.5+ i Operu 8+).
E sad, rešenja za jedno ILI drugo ima mali milion, manje ili više elegantnih, i probao sam mirijade, ali za jedno I drugo, zajedno, nisam uspeo.
U stvari, uspeo sam da nađem rešenje koje radi u IE 6 i Firefoxu, i njime sam trenutno zadovoljan, ali ne radi u Operi, i to me mnogo nervira (mada za praktičnu upotrebu zadovoljava, jer slabo da će iko iz Opere da gleda taj sajt, ali ipak...

Konkretno, browseri se bune oko cleara i floatova.... Sve tri kolone su nekako floatovane, i clear sme da se stavi samo footeru ili lažnoj koloni koja je ispod ovog layouta. Što je ok dok u sadržaj jedne od kolone ne dođe forma koja ima svoje floatove... Ako stavim bilo kakav clear, forma se prikaže tek ispod kompletnih sadržaja preostalih kolona (bez obzira što je taj sadržaj u drugim kolonama - forma se pozicionira tako da napravi mesta za visinu sadržaja one kolone s one strane na koju je clear). Ako skinem clear sve izgleda lepo, sem u Operi koja se ponaša kako da stoji clear:both.

Napominjem da se ne bavim mnogo dizajnom (uglavnom čukam kod na postojeći dizajn ili krpim tuđe kodove), tako da sam tek od nedavno odlučio da uskočim na strict "xhtml && tableless css" bandwagon, ali prekopao sam google uzduž i popreko i nigde nisam našao da iko pominje išta slično, i to me izluđuje... Valjda neko ovde ima neko suvislo, jednostavno, i elegantno rešenje?:1074:

ivanhoe
05. 08. 2006., 02:12
ako u div koji je floatovan stavis formu, ona bi trebalo da se prikaze floatovana zajedno sa njim... ajd daj neki primer koda koji ne radi pa da ti kazemo gde gresis...

a umesto clear mozes da stavis i overflow:hidden; na kontejner

McChoban
05. 08. 2006., 05:26
Da, to je potpuno logično, ali se clear ponaša kao da uzima u obzir elemente koji su u DOM hijerarhiji siblinzi kontejneru. A to nema veze s mozgom...

Poslaću link čim osposobim stranicu (ovako mi je komplikovano da šaljem jer se sve nalazi u nekoliko templejtova).

zar overflow:hidden ne bi trebalo samo da odseče sadržaj?

McChoban
05. 08. 2006., 05:30
Nekim volšebnim metodom, stvar je najednom u Operi proradila, a zakleo bih se da nijedna naknadna promena veze nije imala sa layoutom forme...

Dragan Babić
05. 08. 2006., 10:33
Pogledaj layout innerpages na http://herbiv.org, IE dobija skroz fiksnu varijantu, Fx i Opera rade normalno.

McChoban
05. 08. 2006., 23:00
Ono što je najiritantnije kod svega, je nepredvidivo ponašanje od browsera-do-browsera, u odnosu na parent. Valjda je zamišljeno da, kako god da podesim stvari u okviru parenta (dokle god nisam ubacivao neke fiksne dimenzije ili apsolutno pozicioniranje, naravno), one bi trebalo da budu ograničene samo na taj parent, a ne da "gledaju" šta ima "okolo", ili da se, što je još gode, parent gubi i menja ponašanje u zavisnosti od (rastegljivog) sadržaja. Svako ugnežđivanje je polu-nepredvidljivo, jer u svakom momentu browser može da istripuje da "100%" nije sto posto parenta, nego, recimo, stranice, ili nekog drugog pretka (isto važi i za ostale procente, i ne, nisam se frljao marginama i borderima, i da, znam kakav je box model :D ).
Nije samo u pitanju (ozloglašeni) Internet Explorer... Ni ovi ostali, mnogohvaljeni browseri, se nisu proslavili. CSS je sranje od standarda (mada, boljeg nema), a podrška još gora. Mislim da ću da batalim web programiranje i bacim se na Javu. Čekao sam momenat da mi tog bude preko glave, ali mislim da je potpuno-po-standardima-i-elegantan layout onaj koji će da presudi...