Selaimesta riippuva tyylitiedosto

Oon tässä sivuja tehdessä huomannu että selaimissa voi olla hyvinkin suuria eroja saman sivun näyttämisessä. Päätinkin tehdä sellaisen systeemin, että vaikka javascriptillä tekisi pienen toiminnon, joka katsoisi selaimen ja sen mukaa sitte valitsee tietyn tyylitiedoston. Mitenkähän sellainen sitten tehdään? Ainakin IE:llä ja Firefoxilla toimiva...
7888
Äänestä

Muut lukivat myös

Vastaukset 7

Vanhimmat

Huono idea. Piste.

Selaimet kehittyvät kaiken aikaa. Esimerkiksi IE6 ja IE 7 ovat hyvin erilaisia, samoin eri Firefoxin versiot. Kaivat siis moisilla verta nenästäsi.

Mielummin kannattaa tehdä sivut standardilla koodilla. Ja niin ettei pienet eroavuudet ulkoasussa haittaa. Älä siis pyri pikselintarkkuuteen, vaan siihen että sivut näyttävät suunnilleen samoilta kaikilla selaimilla.

Apua myös ehkä löytyy CSS reset tyylistä joka nollaa kaikkien selaimen CSS oletusasetukset samoiksi:

http://developer.yahoo.com/yui/reset/

Äänestä
  • "Huono idea. Piste."

    Ei todellakaan ole huono idea. Miksi olisi?

    "Selaimet kehittyvät kaiken aikaa. Esimerkiksi IE6 ja IE 7 ovat hyvin erilaisia, samoin eri Firefoxin versiot."

    Toki kehittyvät, mutta käyttämällä selaintunnistusta pystytään käyttämään kaikki CSS:n hienouksia.

    Toki tuota ei JS:llä kannata tehdä vaan jolloin palvelinpuolenkielel kuten PHP:llä.

    Äänestä

  • jrjrjw kirjoitti:

    "Huono idea. Piste."

    Ei todellakaan ole huono idea. Miksi olisi?

    "Selaimet kehittyvät kaiken aikaa. Esimerkiksi IE6 ja IE 7 ovat hyvin erilaisia, samoin eri Firefoxin versiot."

    Toki kehittyvät, mutta käyttämällä selaintunnistusta pystytään käyttämään kaikki CSS:n hienouksia.

    Toki tuota ei JS:llä kannata tehdä vaan jolloin palvelinpuolenkielel kuten PHP:llä.

    kai idea toimii, mutta...

    Yleisperiaate näissä ohjelmahommissa on että
    "hullu paljon töitä tekee viisas pääsee
    vähemmällä" kuten isomummu jo sanoi.

    Paljon helpommalla toisiaan pääsee kun tekee
    senverran validia koodia ja välttää kikkailuja
    niin että kaikilla selaimilla näkyy suurinpiirtein
    oikein.

    On helppo ennustaa että muuten sinulla on edessäsi ns. ikuisuustyömaa.

    Äänestä

  • as-keetti kirjoitti:

    kai idea toimii, mutta...

    Yleisperiaate näissä ohjelmahommissa on että
    "hullu paljon töitä tekee viisas pääsee
    vähemmällä" kuten isomummu jo sanoi.

    Paljon helpommalla toisiaan pääsee kun tekee
    senverran validia koodia ja välttää kikkailuja
    niin että kaikilla selaimilla näkyy suurinpiirtein
    oikein.

    On helppo ennustaa että muuten sinulla on edessäsi ns. ikuisuustyömaa.

    "Paljon helpommalla toisiaan pääsee kun tekee
    senverran validia koodia ja välttää kikkailuja
    niin että kaikilla selaimilla näkyy suurinpiirtein
    oikein."


    Ei tuon teko esim PHP:llä ole vaikeaa. Kun olet kerran scriptin tehnyt niin ei sitä uudestaan tarvitse tehdä. Tehdään vain tyylitiedosto joka toimii esim FF:lla haluamalla tavalla ja sit jos tarvetta niin mukautetaan eri selaimille omansa. Voisi sanoa että noin on paljon helpompaa tehdä kuin jotain CSS häkkejä käyttää. Siis viisas pääsee vähemmällä.

    Toki koodi on standartin mukainen, mutta kun yksikään selain ei vieläkään noudata niitä täysin. Jotenka välillä tarvitsee selainkohtasia juttuja. Tietenkin voi tyytyä käyttämään vain määrityksiä niitä mitä huonoiten tukeva yleinen selain käyttää.


    "On helppo ennustaa että muuten sinulla on edessäsi ns. ikuisuustyömaa."

    Vaikka käytetään selainkohtasia tyylitiedostoja niin se ei tarkoita, että niitä tarvitsisi muuttaa kun uusi versio selaimesta julkaistaan sillä niissä toimivat samat jutut. Tai sitten scriptin voi laittaa toimimaan niin kun julkaistaan x versio selaimesta niin käytetään samaa tyylitiedostoa mitä muutkin selaimet.

    Jos kyse on vain IE:n jutuista niin kannattaa tutustua ehdollisiin kommentteihin http://www.quirksmode.org/css/condcom.html

    Äänestä

  • jrjrjw kirjoitti:

    "Paljon helpommalla toisiaan pääsee kun tekee
    senverran validia koodia ja välttää kikkailuja
    niin että kaikilla selaimilla näkyy suurinpiirtein
    oikein."


    Ei tuon teko esim PHP:llä ole vaikeaa. Kun olet kerran scriptin tehnyt niin ei sitä uudestaan tarvitse tehdä. Tehdään vain tyylitiedosto joka toimii esim FF:lla haluamalla tavalla ja sit jos tarvetta niin mukautetaan eri selaimille omansa. Voisi sanoa että noin on paljon helpompaa tehdä kuin jotain CSS häkkejä käyttää. Siis viisas pääsee vähemmällä.

    Toki koodi on standartin mukainen, mutta kun yksikään selain ei vieläkään noudata niitä täysin. Jotenka välillä tarvitsee selainkohtasia juttuja. Tietenkin voi tyytyä käyttämään vain määrityksiä niitä mitä huonoiten tukeva yleinen selain käyttää.


    "On helppo ennustaa että muuten sinulla on edessäsi ns. ikuisuustyömaa."

    Vaikka käytetään selainkohtasia tyylitiedostoja niin se ei tarkoita, että niitä tarvitsisi muuttaa kun uusi versio selaimesta julkaistaan sillä niissä toimivat samat jutut. Tai sitten scriptin voi laittaa toimimaan niin kun julkaistaan x versio selaimesta niin käytetään samaa tyylitiedostoa mitä muutkin selaimet.

    Jos kyse on vain IE:n jutuista niin kannattaa tutustua ehdollisiin kommentteihin http://www.quirksmode.org/css/condcom.html

    siinä mitään.
    Oikeastaan on ihan hyväkin, että on useita tapoja
    hoitaa homma.
    En nyt ihan heti syty tuohon, mutta laitan korvan
    taakse ja ken tietää...

    Äänestä

  • jrjrjw kirjoitti:

    "Paljon helpommalla toisiaan pääsee kun tekee
    senverran validia koodia ja välttää kikkailuja
    niin että kaikilla selaimilla näkyy suurinpiirtein
    oikein."


    Ei tuon teko esim PHP:llä ole vaikeaa. Kun olet kerran scriptin tehnyt niin ei sitä uudestaan tarvitse tehdä. Tehdään vain tyylitiedosto joka toimii esim FF:lla haluamalla tavalla ja sit jos tarvetta niin mukautetaan eri selaimille omansa. Voisi sanoa että noin on paljon helpompaa tehdä kuin jotain CSS häkkejä käyttää. Siis viisas pääsee vähemmällä.

    Toki koodi on standartin mukainen, mutta kun yksikään selain ei vieläkään noudata niitä täysin. Jotenka välillä tarvitsee selainkohtasia juttuja. Tietenkin voi tyytyä käyttämään vain määrityksiä niitä mitä huonoiten tukeva yleinen selain käyttää.


    "On helppo ennustaa että muuten sinulla on edessäsi ns. ikuisuustyömaa."

    Vaikka käytetään selainkohtasia tyylitiedostoja niin se ei tarkoita, että niitä tarvitsisi muuttaa kun uusi versio selaimesta julkaistaan sillä niissä toimivat samat jutut. Tai sitten scriptin voi laittaa toimimaan niin kun julkaistaan x versio selaimesta niin käytetään samaa tyylitiedostoa mitä muutkin selaimet.

    Jos kyse on vain IE:n jutuista niin kannattaa tutustua ehdollisiin kommentteihin http://www.quirksmode.org/css/condcom.html

    »Jos kyse on vain IE:n jutuista niin kannattaa tutustua..»

    Nimenomaan, yleensä ongelmana on juuri tuo IE6 ja senhän pystyy noilla kiertämään.
    Ihan turha siis käyttää mitään JS-kikkailuja, tai edes php:lla tehtyjä valintoja.


    IE-käyttäjistä kummallisen iso osa (tai no IE:n käyttäminen nyt ylipäätään on kummallista) käyttää antiikkiversioita vuosikausia uuden ilmestymisen jälkeen, joten nuo on sikäli hyvä olla. Fox/Moz- ja Opera-käyttäjien taas voi luottaa käyttävän suhteellisen ajantasaista softaa.
    (Minulle kysymysmerkki on sitten Safarikäyttäjät ja muut mäkkärit.)

    Äänestä

  • jrjrjw kirjoitti:

    "Paljon helpommalla toisiaan pääsee kun tekee
    senverran validia koodia ja välttää kikkailuja
    niin että kaikilla selaimilla näkyy suurinpiirtein
    oikein."


    Ei tuon teko esim PHP:llä ole vaikeaa. Kun olet kerran scriptin tehnyt niin ei sitä uudestaan tarvitse tehdä. Tehdään vain tyylitiedosto joka toimii esim FF:lla haluamalla tavalla ja sit jos tarvetta niin mukautetaan eri selaimille omansa. Voisi sanoa että noin on paljon helpompaa tehdä kuin jotain CSS häkkejä käyttää. Siis viisas pääsee vähemmällä.

    Toki koodi on standartin mukainen, mutta kun yksikään selain ei vieläkään noudata niitä täysin. Jotenka välillä tarvitsee selainkohtasia juttuja. Tietenkin voi tyytyä käyttämään vain määrityksiä niitä mitä huonoiten tukeva yleinen selain käyttää.


    "On helppo ennustaa että muuten sinulla on edessäsi ns. ikuisuustyömaa."

    Vaikka käytetään selainkohtasia tyylitiedostoja niin se ei tarkoita, että niitä tarvitsisi muuttaa kun uusi versio selaimesta julkaistaan sillä niissä toimivat samat jutut. Tai sitten scriptin voi laittaa toimimaan niin kun julkaistaan x versio selaimesta niin käytetään samaa tyylitiedostoa mitä muutkin selaimet.

    Jos kyse on vain IE:n jutuista niin kannattaa tutustua ehdollisiin kommentteihin http://www.quirksmode.org/css/condcom.html

    Validi koodi tarkoittaa ainoastaan kielioppisääntöjen mukaista koodia. Mikään ei silti takaa sitä, että tämä koodi olisi JÄRKEVÄÄ.
    Esimerkiksi suomen kieliopillisesti täysin oikeellinen lause "tajuton sinivalas tipahti tuoppiini" on aivan järjetön vaikka onkin täysin validi.

    Koodin pitää siis ennen kaikkea olla JÄRKEVÄÄ, mielellään myös validia. Järkevästi tehty koodi taas mitä suurimmalla todennäköisyydellä toimii myös teksti- ja ääniselaimissa, kännyköissä jne.

    Äänestä

Kommentoi aloitusta


Sepifi kirjoitti:

Oon tässä sivuja tehdessä huomannu että selaimissa voi olla hyvinkin suuria eroja saman sivun näyttämisessä. Päätinkin tehdä sellaisen systeemin, että vaikka javascriptillä tekisi pienen toiminnon, joka katsoisi selaimen ja sen mukaa sitte valitsee tietyn tyylitiedoston. Mitenkähän sellainen sitten tehdään? Ainakin IE:llä ja Firefoxilla toimiva...

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu