Kaleidoskopia
Enniriinan henkilökohtainen oppimisympäristö
Facebook Twitter Last.FM Delicious Flickr

Recently in Vinkit Category

Keskittää voi monellakin tapaa, mutta miten otetaan huomioon esimerkiksi eri resoluutioiden käyttäjät. Kun käyttäjän resoluutio voi olla 1280 tai vaikkapa vain 800 pikseliä leveä. Keskittämisen voi esimerkiksi tehdä määrittämällä elementeille tarkat koordinaatit joissa ne ovat, mutta tällä tavalla voidaan ottaa vain yksi resoluutio huomioon kerrallaan. Center-tagi on vanhentunutta koodia, sitäpaitsi se keskittää kaiken, myös tekstin!

Esimerkissäni sisältö on "kääritty" erilliseen diviin, joka keskitetään tietynlevyisenä. Olen käyttänyt tätä tekniikkaa esimerkiksi näillä sivuilla.

...
<body>
<div id="wrapper">
Sisältö tähän
</div>
</body>
...

Tämän jälkeen css-muotoiluihin lisätään seuraava kohta:

div#wrapper{
    width:600px;
    margin:0 auto;}

Esimerkissä divin leveys on siis 600 pikseliä. Yhtä hyvin voidaan käyttää prosentteja esim. 80%, jolloin divi venyy tarvittaessa resoluution mukaan. Tämä voi kuitenkin olla ongelmallinen esimerkiksi laajakuvanäyttöjen kanssa. Se rikkoo hyvin helposti ulkoasun yhtenäisyyden ja kompaktin olemuksen.

Selaimen rullauspalkki vie noin 20 pikseliä oikeasta laidasta, joten suositeltu maksimileveys wrapperille olisi 780 pikseliä.
Kanssapelettäjäni Timo Kallio tuo blogikirjoituksessaan esille selainten välisiä eroja CSS-muotoilujen tulkinnassa.

Aikaisemmin esimerkiksi Internet Explorer 6 on ollut vastahakoinen tulkitsemaan muotoiluja samalla tavalla kuin muut selaimet. Aikaisemmin myöskään virheet HTML:ssä eivät ole hetkauttaneet IE:n tulkintaa. Sittemmin ero on tasoittunut ja nykyään myös Internet Explorer pyrkii tulkitsemaan muotoiluja samalla tavalla kuin esimerkiksi Firefox ja Opera.

Vielä Internet Explorer tuntuu kuitenkin olevan hukassa varsinkin välistyksissä (padding & margin). Lisäksi joillain elementeillä on automaattisesti tietynlaisia välistyksiä, jotka eroavat muiden selainten käyttäytymisestä. Esimerkiksi p-elementissä teksti sijoittuu väljemmälle alueelle IE:ssä kuin Firefoxissa ja Operassa. Tämä voi luoda ongelman, jos tahdotaan saavuttaa prikulleen samannäköinen tulos eri selaimilla.

Jotta voidaan lähteä välistysten kera puhtaalta pöydältä IE:n, Firefoxin ja Operan kanssa, voidaan CSS-muotoiluissa käyttää universaalia valitsinta *. Tämä valitsin vaikuttaa jokaiseen elementtiin sivulla, ellei sille ole jo määritelty jotakin muuta tyyliä itse.

*{
    margin:0;
    padding:0;}

Tämä pieni pätkä muotoiluja CSS-tyylissä resetoi kaikkien sivulla olevien elementtien välistykset ja antaa mahdollisuuden aloittaa heti alusta samoilla lähtökohdilla.