|
Mul on loomisel veebirakendus, mis peab sisaldama ülaosas liikumatut bännerit ja all mitu veergu teksti. Veergude arv võib muutuda ja igas veerus on iseseisev tekst. Välja peab see nägema nii nagu järgmine improviseeritud vorm:
Töötava näidise leiab siit. Kasutasin veergude loomiseks HTML-tabelit, kuid seisan nüüd probleemi ees, kuidas sundida tabeli lahtreid keritavaks, kui tekst läheb pikemaks kui akna mõõdud, eesmärk oleks see, et tabeli füüsilised mõõdud püsiksid akna mõõtmetes ja igale lahtrile eraldi tekiksid kerimisribad. Hea, kui lahendus jääks CSSi tasemele, vajadusel olen nõus kasutama javascripti. Lahendus võib peituda järgmiste omadustega mängimisel:
Siiani ei ole ma suutnud sellist efekti luua, kogu tabel jääb kangekaelselt ühte tükki ja mõõtmed kasvavad akna kõrgusest välja. |
|
Pean uue vastuse kirjutama, sest kommentaar on piirangutega. Kirjutan ise kõik selles vaimus, et tabeleid kujunduseks ei kasutata. Saad seda siiski teha kui paned iga td sisse div-i, millel on kindel kõrgus (ehk siis tabeli kõrgus jääb sisuliselt dünaamiliseks, aga div-ide pealt vaatab ta, et kõrgemaks ma ennast enam ei tee kui neil vaja). css:
html:
Mul kahjuks endal puudub igasugune kogemus mobiili device-dega. Ja probleem on div-i kõrguse saamisega. Mina ei tea meetodit CSS2-ga (IE-l on mingi expression, aga see pole "päris"). Seega tegin ühe katse JavaScriptiga ja sain käima. Kood on erinevate brauserite pärast suhteliselt jube:
Panin kõik kokku ja end dropbox-i kaudu laadisin üles: http://dl.dropbox.com/u/6971378/cols.html Vau, täpselt see, mida vaja!
(Apr 01 '12 at 23:36)
Teet65
|
|
Tabeli kõrguste arvutus on segadust tekitav ja kahtlane (standardid on ka selle koha pealt lahtisi otsi jätvad). Tee div-idega tabeli struktuuri sarnaselt.
Ja CSS-i kirjuta:
Siin võib probleem tekkida ".cols > div" selektoriga kui teed veebi kõigile (vanad IE-d jms). Samuti pead päris palju mängima selle 25% kui tahad bordereid lisada jms. Muuseas -- minu arust on hea trikk css-s määrata reegel "* {margin: 0; padding: 0; border: 0 none; }". See tähendab, et mitte ühelgi elemendil ei ole määratud mingeid bordereid ja asju. See muidugi eeldab, et pead neid mõnes kohas tagasi hakkama määrama (nagu input element, textarea jt). Samas annab see koheselt tugeva kontrolli paigutuste üle erinevate brauserite puhul ja teeb css-i debugimise lihtsamaks. Kahtlustasingi, et pean DIV-de peale minema, kuigi tahtsin seda nii palju vältida kui võimalik. IE probleemid seda projekti ei puuduta, mul ei ole kellegi ees kohustust teatud brauserite jaoks ühilduvust tagada, peaasi et töötab vastsete arvutibrauserite ja kaasaegsete mobiilibrauseritega.
(Mar 27 '12 at 21:49)
Teet65
Väike probleem tekkis: kui akna laius läheb liiga väikeseks (nagu mobiilseadmetel), siis peaks üksteise kõrvale seatud DIV-d olema paremale-vasakule keritavad, kuid sellises olukorras tahavad nad minna üksteise alla. Kuidas saaksin nad sundida püsida üksteise kõrval?
(Apr 01 '12 at 00:46)
Teet65
|


