Omaako javascripti kieli jotain palikoita/rakennetta layoutin valmistamiseen?
HTML kieli näyttää olevan vähän rajoittava noissa omissa default layoteissaan ja palikoiden paikkoja, kuten kuvien ja tekstien sijainteja ei pysty kovin hyvin määrittelemään. HTML:lla voi vain laittaa, että kuva on tuolla jossain ylhäällä jne. ja en oikein tahdon saada kuvia ja tekstejä sinne minne haluaisin.
Mutta mites javascirpti, tarjoaako se monipuolisemman layout järjestelmän ja millä lailla siinä hoidetaan palikoiden sijoitteleminen browseriin?
Tutustupa ensin css-tyyleihin.
Ainakin Dojossa ja Ext:ssä on eri layout-luokkia tarjolla.
http://dojotoolkit.org/
http://extjs.com/
Edit: Mutta oli sitten kikkare mikä tahansa, samaa (x)html/css -suhrua lopputulos on kuitenkin.
JavaScript on tosiaan enemmän tarkoitettu toimivuuden lisäämiseen sivuille. Sitä ei kannata käyttää sivuilla siten, että sivuston toiminta riippuu täysin JavaScript-tuesta. Ulkoasu hoidetaan CSS:llä. Käytännössä HTML:ssä määritetään elementeille ID- tai class-attribuutti ja sitten CSS:llä määritellään miltä elementti näyttää ja pieni ripaus myös sitä, miten se käyttäytyy (esim. miltä pitää näyttää kun hiiri tuodaan päälle).
(Kirjoitin pidemmän tekstin esimerkin kera päivällä junassa, mutta yllätysyllätys, Firefox tilttasi johonkin samalla kun puhelimeni alkoi soida... tiedä sitten häiritsikö se jotenkin konetta.)
kiitokset tiedoista!
täytyy varmaan ottaa sitten lisää tietoa tuosta CSS:stä. Aiemmin luin siitä wikipediasta ja sain sen käsityksen, että se on vain joku standardi sille, että miltä kotisivuissa olevien elementtien pitäisi näyttää. Mutta onko se sitten myös joku kongreettinen kieli tai softa, vaiko joku partikkeli jossain ohjelmointi kielessä?
Olgalle: onko noin siis jotain layoutteja, jotka on sisällytetään javascripti koodiin, vai mitä?
Koodi varmaan kertoo enemmän kuin tuhat kuvaa, joten here we go: http://dojotoolkit.org/book/dojo-book-0-9/part-2-dijit/layout/layout-container
Itse en tosiaan ole kumpaakaan (enkä muitakaan vastaavia virityksiä) koskaan käyttänyt, joten mitään kommenttia toimivuudesta en osaa antaa. Periaate on kuitenkin hieman sama, kuin Javan layouteissa.
Joo, se oli ainakin kirjoitettu javascriptillä, että kaippa javascriptillä täytyy silloin jo itsessään olla jonkun näköistä tukea Layotteihin. En kumminkaan viitsi ottaa tuota työkalua käyttöön, koska siinä olisi taas paljon opeteltavaa.
luulen, että pidän koodini yksinkertaisempana ja yritän saada jotain tolkkua tuohon CSS:ään. Se näyttää siis olevan osa HTML kieltä, jos oikein ymmärsin?
Taidankin kysyä siis näin, koska noi en löytänyt ainakaan nyt näin alkuunsa noista CSS tutorialeista, että miten saan html taulukon alkamaan heti sivun ylälaidasta, niin ettei siihen jää tuota muutaman kymmenen pikselin väliä, jossa näkyy taustakuva? Sen huomaa näistä ohjelmointiputkan sivuista, ettei tässäkään taulukko ala ihan ylhäältä, vaan eka on pieni rako, ennen kuin näkyy mitään kuvia taikka kirjoitusta. Ihmetyttää vaan, että miksi ei ala? pitäiskö muuttaa sitten jotain CSS asetuksia tai atribuutteja.
Paulus: oletuksena sivulla on marginaalia tai sisennystä. Siitä pääsee yksinkertaisesti eroon ottamalla sen pois:
html,body { margin : 0; padding : 0; }
Monissa elementeissä on valmiiksi jompaa kumpaa näistä, se kummasta on kyse riippuu selaimesta. Esim. body:n tapauksessa Opera käyttää paddingia ja kaikki muut selaimet marginia.
Toinen juttu on sitten taulukkotaitto ylipäätään: jos sen menee opettelemaan, on vaikea opetella siitä pois ja oppia CSS-taittoa.
CSS-taitosta vielä sen verran, että käytännössä sen voi jakaa siihen, että suunnittelee ulkoasun toimimaan Firefoxille, Operalle ja Safarille, ja sen jälkeen korjaa IE:n ongelmat erikseen. Yleistettynä IE7-korjauksia tulee suht vähän, IE6-korjauksia enemmän, riippuu hieman miten sivut toteuttaa. CSS:n kunnolliseen opettelemiseen ja sisäistämiseen menee vähintään pari vuotta aikaa.
Kiitokset Merri hyvästä vastauksesta!
Täytyypä harkita, kannattaa alkaa sitten perehtymään enemmänkin tuohon CCS:ään.
Aihe on jo aika vanha, joten et voi enää vastata siihen.