Kaikki aihepiirit: Luettelen alla aihealueittain tekemäni aihepiirit. Paluulinkkeinä tähän aihepiiriin on tämä valikko ja sivun yläreunassa oleva linkki Aihepiiriluettelo.
| ||||||||||||||||||
![]() | Aihepiiriluettelo > CSS-oppaan etusivu > Opassivut > 6. Miten CSS:n annetaan teksteille ja CSS:n kohdentaminen eri medioille > 6. yhtenä isona sivuna |
|---|
Edellinen sivu | Sivun jaksot: | Seuraava sivu![]() |
Tämä sivu on jaettu jaksoihin, jotka sisältävät seuraavia aiheita:
Kuten sivulla Mikä on HTML ja XML asiakirjojen perusrakenne tuli esille, fontin määrittely on CSS:n kanssa yhteensopivuuden näkökulmasta ongelmallinen. Perusnäkökulma on se, että mitä enemmän halutaan helposti ja joustavasti toteutettavia CSS-määrittelyjä, sitä vähemmän dokumentit ovat ulkonäön suhteen HTML 3.2 yhteensopivia.

Mikäli halutaan mahdollisimman suuri
alaspäin yhteensopivuus, tulee käyttää
elementtiä FONT, vaikka CSS spesifikaatio ei
sitä mainitse kuin ohimennen. Kun annat kuvauksen luokalle
font-style1, voit jälkikäteen
määritellä fontin ominaisuudet uusiksi, mutta
vanhemmat selaimet näyttävät HTML 3.2 tasoiset
vaihtoehtoiset attribuutit. Tee seuraavan tapainen
määrittely dokumentin runko-osaan (![[M]](../Kuvat/buttons/M.gif)
![[S]](../Kuvat/buttons/S.gif)
- mallisivulla on kaikki tämän jakson
mallit):
<FONT class="font-style1"
face="Arial" color="#3f3f3f">Tällainen on kuitenkin aika vaivalloista ja HTML 3.2 attribuutit ovat aika vaatimattomia verrattuna CSS-ominaisuuksiin. Et koskaan saavuta kovin suurta alaspäin yhteensopivuutta. Tavallaan jonkinasteinen alaspäin yhteensopivuus toteuttaa CSS-mediapäämääriä - eri laitteille voidaan tarjota yksilöllisiä sivuja.
Tosin attribuuttivalitsimia käyttäen CSS luokka- tai id-valitsimia ei tarvita
lainkaan vaan ominaisuuksien
sovitussäännöissä voidaan hyödyntää olemassa olevia attribuutteja.
Alla on kaksi esimerkkiä elementin FONT värin muutostavoista attribuuttivalitsinten
avulla (![[M]](../Kuvat/buttons/M.gif)
![[S]](../Kuvat/buttons/S.gif)
):
font[color="#660033"]{color:blue}
/* elementti FONT, jolla on attribuuttina
color="#660033"
, saavat värin blue
- muista
välilyöntisääntö; jos laitat
välilyönnin elementtityypin perään,
säännössä sanotaan: fontti-elementti, jonka
perässä on elementti, jolla on attribuutti
color="#660033"
saavat värin blue
*/
*[color="#660033"]{color:blue} /* värin muutoksen voi
esittää myös yleisesti; tässä sanotaan
vain, että mikä tahansa elementti, jolla on
attribuuttina color="#660033"
, saavat värin
blue
*/Selainkohtaisia huomautuksia:
älä määrittele fonttikokoa HTML 3.2 tyyliin, esim.:
<FONT class="font-style1"
face="Arial" size="3" color="#3f3f3f">MS IE osaa CSS:n avulla
ohittaa font-size
attribuutin, mutta Opera 3.x ja Netscape 4.x eivät. Koska koon ohittaminen ei
toimi kaikissa CSS:ää tukevissa selaimissa, suosittelen
välttämään fonttikoon
määrittävän attribuutin
käyttämistä. Mikäli haluat muuttaa fontin
kokoa, laita mieluummin ympärille elementti BIG
(voit määritellä CSS:llä myös sen)
seuraavan esimerkin tapaan (![[M]](../Kuvat/buttons/M.gif)
![[S]](../Kuvat/buttons/S.gif)
):
<BIG><FONT
class="font-style1" face="Arial"
color="#3f3f3f"></FONT></BIG>Attribuuttivalitsinten käyttö FONT elementin kanssa toimii täysin vain
uusissa Mozilla Gecko ja Opera 7.x+ -selaimissa. Opera 5.x-6.x
selaimissa color attribuutin arvoa ei voi tällä tavoin muuttaa, vaikka ne yleisesti
ottaen tukevat attribuuttivalitsimia.
HTML 3.2 -tyypisen ajattelun perusongelma on kuitenkin se, että siinä
ulkoasu on kaikissa tilanteissa sama eikä sitä voi tilannekohtaisesti kohdistaa. Elementti
FONT (mikäli sitä ei CSS:llä varta vasten muuteta) tuo kokoeroa lukuun
ottamatta kaikissa tilanteissa saman lopputuloksen. CSS2:n perusideoita on CSS:n kohdennettavuus
käyttötarkoitusten ja -kohteiden mukaan.
Ennen kaikkea tämä koskee sitä, miltä asiakirja näyttää sitä näytöltä katsottaessa ja miltä se näyttää tulostettaessa. Mutta yhä enemmän on kyse myös erityyppisistä näyttölaitteista ja niille suunnatusta CSS:stä. Myös käyttäjän kieli ja omat mieltymykset voidaan ottaa huomioon.
Tekstin koko ja valittu fonttityyppi tulisi optimoida käyttökohteen mukaan. Jotta näin voidaan tehdä, käsittelen ensin tekstin ulkoasuun liittyviä ominaisuuksia ja sitten keinoja, millä CSS:n kohdennetaan eri käyttäjille.
Elementille BODY laitetaan yleensä
fonttityyppi ja sen koko, esim. (![[M]](../Kuvat/buttons/M.gif)
![[S]](../Kuvat/buttons/S.gif)
):
body/* huomaa lainausmerkit, jos fontin nimessä on tyhjää tilaa - ilman niitä selain ei välttämättä osaa etsiä haluttua fonttityyppiä */
{font-family: Algerian, "Times New Roman",serif;/* perusfontiksi suositellaan relatiivista fonttikokoa */
font-size:small;}
Selain etsii tärkeysjärjestyksessä fontit.
Kaksi ensimmäistä on tiettyjä asennettuja
fonttityyppejä. Kolmas (serif) on ns. yleinen
fonttiperhe (generic font family ja yleiset
fonttiperheet ovat serif, sans-serif, cursive, fantasy ja monospace. Selaimet voivat päättää
tietyin kriteerein, mitä fonttia käyttävät ja
saattavat tarjota eri fontteja.
.Erityisesti
otsikoissa voi käyttää hyvinkin monenlaisia
ominaisuuksia. Olen seuraavaan esimerkkiin
koonnut suuren joukon ominaisuuksia ja mainitsen, mitkä niistä kuuluvat vain CSS2:een
(![[M]](../Kuvat/buttons/M.gif)
![[S]](../Kuvat/buttons/S.gif)
):
h2/* tekstin väri ns. keyword-arvona */
{color: #660033;
font-family: Algerian, "Times New Roman",serif;
font-weight: bold;/* miten paksua fonttia käytetään - tässä ns. keyword-arvona */
font-size: 18pt;/* absoluuttisella yksiköllä määritelty fonttikoko */
font-style:oblique;/* standardin mukaan tekee normaali fontin tietokoneella viistoksi (slant) - melkein sama kuinitalic(oletuksenanormal) */
font-variant:small-caps;/* kaikki kirjaimet ovat isoja kirjaimia, mutta pienet kirjaimet näytetään vähän matalampina */
text-transform:capitalize;/* hieman edellisen kaltainen - sanan ensimmäinen kirjain on aina iso kirjain (muut arvot ovatlowercasejauppercase); huomaa, ettälowercase(pienet kirjaimet) kumoaa edellisen määrittelyn */
text-decoration: overline;/* muut mahdolliset arvot:none,underline,line-through,blink; ominaisuus ei automaattisesti periydy */font-stretch:wider;/* em. arvon pitäisi leventää fonttityyppiä (CSS2) */
text-shadow: 5px 5px red;/* tekstin varjostus (CSS2) */}
Selainkohtaisia huomautuksia:
font-variant:small-caps toimii MS IE Windows -selaimissa oikein vasta 6.0:ssa.
text-decoration: blink toimii vain Netsape, Mozilla Gecko ja Opera 5.x+ -selaimissa.
font-stretch ja text-shadow ominaisuudet eivät toimi missään testaamassani selaimessa.
Fonttimääreiden kohdalla huomionarvoista on
font-weight. Periaatteessa fonttiperheeseen voi
kuulua yhdeksän eri fontinpaksuutta ja ne
merkitään 100-900 (esim. font-weight:600).
Millään tuntemallani fontilla näin ei ole
kuitenkaan asianlaita ja mikä arvo puuttuu otetaan
lähin sopiva arvo (lisäksi on huomattava, että
normal=400 ja bold=700). Väliaikaiseen koon muuttamiseen voi
käyttää myös avainsanoja lighter
ja bolder, joita en suosittele
perusmääreiksi.
Fontin ominaisuudet voidaan
määritellä myös ns. pikakirjoitteena, jossa
mukana on myös line-height ominaisuus (![[M]](../Kuvat/buttons/M.gif)
![[S]](../Kuvat/buttons/S.gif)
):
... {font: normal small-caps 120%/120% fantasy;}/* malli fontin pikakirjoitemäärittelystä; ensimmäinen prosenttiluku tarkoittaa fontin korkeutta ja toinen rivikorkeutta (line-heightominaisuus voidaan määrittää muista vastaavan kaltaisista ominaisuuksista poiketen ilman mittayksikköä:1.2=1.2em); erillismäärittelyjä on kuitenkin mielestäni tässä tapauksessa helpompi hallita */
Selainkohtaisia huomautuksia:
Ominaisuuksilla line-height:1.2em ja line-height:120% on Mozilla Gecko -selaimissa ero silloin, kun fonttia skaalataan. Prosenttiarvo skaalautuu, mutta em-arvo ei.
Eräät tekstiin vaikuttavat ominaisuudet eivät
toimi juuri millään selaimella. Mielestäni
näitä ei kannata käyttää, vaikka uusimmat selaimet hallitsevat ne kaikki: word-spacing, letter-spacing,
white-space, word-wrap. Letter-spacing on
näistä käyttökelpoisin, sillä sitä
tukee monet selaimet (![[M]](../Kuvat/buttons/M.gif)
![[S]](../Kuvat/buttons/S.gif)
).
CSS2 tarjoaa monenlaisia
mahdollisuuksia räätälöidä sivusto eri esityslaitteita varten. Yleisimmin tuettuja
ovat normaali näyttöesitys ja tulostus. Niille voi antaa @media
at-säännön avulla
toisistaan poikkeavan esitysasun.
Alla on W3C organisaation spesifikaation pohjalta muokattu esimerkki:
@media print {/*
toimii
ainakin MS IE 5.x, uusilla Netscape/ Mozilla ja Opera4.+ selaimilla
*/
body {font-size: 10pt}
}
@media screen {
body {font-size: 12pt }
}
@media screen, print {/* muut mahdolliset mediatyypit:
aural
, braille
, embossed
, handheld
, projection
, tty
,
tv
- huomaa,
että laitteen täytyy tunnistaa itsensä eli tietyt
laitteet tarvitsevat erityisselaimen eikä toimivuutta voi
testata ennen kuin kyseinen selain on valmistettu!
*/
body {line-height: 1.2}
} /* huomaa, että kaarisulut ympäröivät
tavanomaiset määrittelyt */W3C: CSS2: 7 Media types; 7.2.1 The @media rule
.Kun mediasääntö liitetään samaan tyylisivuin, sääntöjen merkitystasoja kuvaa jo aiemmin käyttämäni kaavio, johon olen lisännyt yhden tason (mediasääntölohko voi sisältää useita sääntöjä aivan kuten kuvauslohko voi sisältää useita kuvauksia):
| mediasääntölohko (media rule block) | |||||||
|---|---|---|---|---|---|---|---|
| sääntö (rule) | |||||||
| kuvauslohko (declaration-block) | |||||||
| kuvaus (declaration) | |||||||
| valitsin (selector) | ominaisuus (property) | arvo (value) | |||||
@media print { |
body |
{ |
font-family |
: |
Verdana, Arial, sans-serif; |
} |
} |
Edellä olleessa kaaviossa print on ns.
mediatyyppi (media type). Mediatyyppitiedon voi liittää myös
STYLE tai LINK-elementteihin
(<LINK rel="stylesheet" type="text/css" media="print">) ja @import
-sääntöön (esim. @import
url(printti.css) print; - tämä tiedosto haetaan
vain tulostettaessa).
Selainkohtaisia huomautuksia:
Yleisimmin tuettu arvo on screen, joka toimii ainakin joissakin MS IE 4.x,
Netscape 4.x ja Opera 3.51+ versioissa. Opera 3.51-3.6x tukee myös arvoa all ja Opera
4.x+ sen lisäksi arvoa projection. MS IE 4.x+ tukee myös all ja
print. Jälkimmäinen toimii myös Netscape 4.x -selaimissa. Vastaavat arvot
toimivat monessa selaimessa myös
at-säännön @media kanssa. Mediatyyppien käyttämisessä
on kuitenkin seuraavia ongelmia:
Attribuutti media toimii oikein STYLE elementin kanssa testaamistani
selaimissa vain Mozilla 0.7+:ssa. Muut selaimet lukevat normaalille näyttöesitykselle osan
seuraavasta CSS:stä vaikka niiden ei pitäisi niin tehdä:
<style type="text/css" media="projection">
<!--
@import url(../Css/CssSiteProjection.css); /* tämä pitäisi ohittaa */
body.CssSite div.docSlide p {color:red !important} /* MS IE 5.5+ ja Opera 5.x+ osaavat ohittaa
tämän, joten attribuutti media
osittain toimii */
-->
</style>Operalla on vastaava ongelma myös LINK
elementtiä käytettäessä, mikäli tuontisääntöä ei
tarkenneta (esim. @import url(...) screen;) tai käytetä tuoduissa tiedostoissa
medialohkoja.
@import url(...) screen; tms. toimii testaamistani selaimista vain Mozilla 0.7+:ssa ja
Opera 5.1x+:ssa.
MS IE 4.x Windows ja Opera 3.x lukevat @media print
{...} myös näytölle (tosin MS IE:llä jää ensimmäinen
sääntö lukematta). @media screen
{...} täytyy kirjoittaa viimeiseksi ja on
katsottava, että kaikki tarvittava CSS on
määritelty uudestaan. Mahdollisesti sama ongelma media attribuuttien kanssa.
Netscape 4.x ei lue LINK ja STYLE
elementtejä, mikäli attribuutilla media on useampi arvo, esim.
media="screen,print". Netscapella on myös eräs toinen seikka, johon viittaan
tällä edempänä.
MS IE 5.0 Mac ja Netscape 4.x eivät lue medialohkojen
sisällä olevia sääntöjä. Koska tuontisääntö tuottaa
ongelmia Operalle, @media ja @import at-sääntöjä ei
tule lainkaan käyttää, mikäli halutaan yleistoimivasti hyödyntää
mediatyyppejä.
Operassa on useiden mediatyyppien antamisen kanssa ongelmia (käsittelen niitä tarkemmin
sivulla
).
Kun Opera
4.x+:ssa käynnistää ns. full screen
mode -tilan, Opera on ns. esitysmuodossa
(presentation mode), jolloin @media
screen (koskee myös @media print) or
vastaavat media-attribuutit eivät toimi, mutta on
mahdollista käyttää mediatyyppiä @media
projection. Olen huomioinut tällä sivulla
myös tämän mediatyypin (olen optimoinut
sen 800x600 näytölle - käytön ohjeet
). Kokeile, jos sinulla on sangen
uusi Opera - paina F11 näppäintä!
Normaali
näyttöesitysmedia, kuten eräät muutkin mediatyypit ovat ns. jatkuvaa
media (continous media). Mediatyypit print ja projection
ovat osa
CSS2:n sivutettua mediaa (paged media), joka on yksi
mediaryhmä (media group).
Sivutetussa tulostus- ja näyttömediassa pyritään hallitsemaan sivutkatkot.
Tavanomainen paperitulostus, normaali näyttöesistys ja projektioesitys ovat kaikki osa visuaalista muotoilumallia (visual formatting model). CSS2:n kuuluu myös ei-visuaalisia muotoilumalleja (formatting models) ja erityismedioita näkövammaisia varten, joita ovat kuulomuotoilumalli (aural rendering model) ja kosketeltava media tactile media).
Lisäksi on otettava huomioon esityslaitteen ominaisuudet, joihin kuuluu mm. se, voiko käyttää lainkaan grafiikkaa. tai voiko käyttäjä vaikuttaa esityksen lopputulokseen vai ei.
Seuraava lista esittelee mediaryhmät, muotoilumallit sekä niihin liittyvät mediatyypit, mikäli niitä on vain yksi tai kaksi:
auralbraille ja embossMuotoilumallien, mediatyyppien ja -ryhmien
välistä suhdetta kuvaa W3C spesifikaatiosta lainattu
taulukko (kohta ei sovellu
, merkitään
englanniksi N/A (= not applicable
), joka
merkitsee sitä, että kyseistä vaihtoehtoa ei voi
soveltaa tiettyyn tilanteeseen; ks. mediatyyppien
suomennosehdotuksia![[S]](../Kuvat/buttons/S.gif)
:
| Mediatyypit | Mediaryhmät | |||
|---|---|---|---|---|
| jatkuva/ sivutettu | visuaalinen/ kuulo/ kosketeltava | kehikko/ rasteri | interaktiivinen/ staattinen | |
| aural | jatkuva | kuulo | ei sovellu | molemmat |
| braille | jatkuva | kosketeltava | kehikko | molemmat |
| emboss | sivutettu | kosketeltava | kehikko | molemmat |
| handheld | molemmat | visuaalinen | molemmat | molemmat |
| sivutettu | visuaalinen | rasteri | staattinen | |
| projection | sivutettu | visuaalinen | rasteri | staattinen |
| screen | jatkuva | visuaalinen | rasteri | molemmat |
| tty | jatkuva | visuaalinen | kehikko | molemmat |
| tv | molemmat | visuaalinen, kuulo | rasteri | molemmat |

Yleisiä huomautuksia:
Eräät ryhmittelyt ovat lähinnä suosituksia. Mediatyyppi
projection voi olla myös interarktiivinen. Mediatyypin aural voidaan
pause-toiminnoilla luoda tavallaan sivutettua mediaa.
Taulukon ongelmallinen kohta on mediatyyppi
handheld. Ryhmä tarkoittaa käsipuhelimia
ja kämmenmikroja (kuten esim. palm pilot
-laitteet). Niiden grafiikan käsittelykyky vaihtelee.
WAP-puhelimet ovat vasta tulossa markkinoille ja niissä voi
käyttää jonkin tason grafiikkaa käsittely,
mutta ei kuitenkaan kämmenmikrojen tasoa. Kummat tulisi
huomioida ensisijaisesti? Ryhmä tty tarkoittaa
vain tekstiä näyttäviä laitteita, joten se ei
tule kysymykseen. Pitäisikö olla oma ryhmä
mobile_phones? Tein WAP-ongelmista liitesivun![[S]](../Kuvat/buttons/S.gif)
.
Eri
visuaalisten esitystapojen tueksi on myös mahdollista ladata fontteja
@font-face säännön avulla. Seuraavassa
kuitenkin yksi W3C sivuilta ottamani esimerkki:
@font-face {
src: local("Helvetica Medium"), /* selain yrittää
ensin etsiä asennetun fontin */
url(http://www.fonts.org/sans/Helvetica_family)
format("truedoc"); /* mikä selain ei löydä
sellaista, se lataa fontin; mikäli ladattua fonttia ei
löydy käytetään vaihtoehtoista fonttia
*/
font-family: "Helvetica";
font-style: normal}
h3 {font-family: "Helvetica Medium", sans-serif
}
.Koska nimelliskooltaan samankokoinen fontti saattaa näyttää kovinkin
erikokoiselta, CSS2 tuo laskentakaavoja (font
matching algorithm), joilla korvaavien fonttien koko
tuottaisi mahdollisimman samankaltaisen lopputuloksen
(font-size-adjust).
, 15.2.4 Font size
, 15.5 Font matching algorithm
.Selainkohtaisia huomautuksia:
font-size-adjust sekä eräät muut fonttien käsittelyyn
liittyvät erityispiirteet eivät ole toimineet testaamissani selaimissa.
Microsoftin ilmoituksen @font-face at-rule toimii MS IE -selaimissa alkaen MS IE
4.0 Windowsista (todensin versiolla 6.0), mutta viitatun fonttitiedoston tiedostomuoto täytyy olla
joko .eot tai .ote, ei tavanomainen fonttitiedosto (esim.
TT028M_.TTF). Koska @font-face toimii MS IE -selaimissa vain tietyillä
tiedostomuodoilla, toteutus on tavallaan selainkohtainen.
Netscape 4.x tukee epästandardia @fontdef
at-sääntöä, joka tukee .pfr-tiedostoja (esim. @fontdef
url("http://www.example.com/sample.pfr");). Ladattavat fontit toimivat myös epästandardin
linkkisuhteen avulla (<LINK rel="fontdef"...). Mozilla org. saamani
erittäin luotettavan s-postin (21.07.200) mukaan @font-face ei ole vielä
tuettu.
Lisäksi ainakin mediatyypille
print on mahdollista määrittää
mm. sivukoko, tulostusmarginaalit ja sivun suunta
(orientation) käyttämällä
sivusääntöä (@page). Alla
esimerkki niiden käyttämisestä:
@page {size: 210mm 297mm;}
@page :first {size: 210mm 210mm; margin-left: 4cm; margin-right:
4cm;}
@page :right {margin-left: 3cm; margin-right: 4cm;}
@page :left {margin-left: 4cm; margin-right: 3cm;} /*
Sivumarginaalien laskeminen ei ala aivan paperin reunasta,
sillä tulostin jättää hieman pelivaraa
(yleensä vajaa puoli senttiä). Lisäksi
margin
-ominaisuus BODY
tai juurielementille
lisätään sivumarginaalien
päälle.
@media print {
blockquote, table {page-break-inside:avoid} /*
vältä lohkositaatin jakaminen eri sivuille; myös
alle sivun mittaisten taulukoiden katkeamisen kahdelle sivulle
voidaan estää tällä tavoin */
...
}
Alla on taulukko, joka kuvastaa mielestäni olennaisimpia
selainten tulostuksessa hyödyllisiä piirteitä
(käsittelen ominaisuutta content sivulla Listat
):
| Kaikki käytt./ Windows (MS IE): | media="print" |
@media print |
@import url() print; |
@page |
page-break-after/before |
page-break-inside |
content |
|---|---|---|---|---|---|---|---|
| Opera 5.1x+ | |||||||
| Opera 4.x-5.0x | |||||||
| Mozilla 1.0+, Netscape 7.x | |||||||
| MS IE 5.5+ | |||||||
| Mozilla 0.7-0.9x, Netscape 6.1-6.2x | |||||||
| Mozilla 0.6, Netscape 6.0x | |||||||
| MS IE 5.0 | |||||||
| Netscape 4.x, MS IE 4.0 | |||||||
| Mac: | |||||||
| MS IE 5.0 |
Selainkohtaisia huomautuksia:
Tulostuspiirteet toimivat parhaiten Opera 6.x -sarjan selaimilla. Opera 7.0x -sarjan selaimet tulostavat toisinaan erittäin virheellisesti (7.10 hieman virheettömämmin, mutta ei 6.x sarjan tasoisesti).
Vaikka @page ei ole varsinaisesti tuettu MS IE
selaimissa Microsoft ilmoittaa, että sitä voidaan
käyttää tulostuspohjissa ohjelmissa, jotka
isännöivät MSHTML:ää, jossa
on lisäksi joitakin tulostukseen liittyviä
epstandardeja CSS-ominaisuuksia (MSHTML
:ää ymmrtää MS
Office 2000+). En laske tätä todelliseksi
toteutukseksi, koska selain itsessään ei tätä
at-sääntöä tue.
.Yleisesti ottaen at-säännöt ovat yleisemmän tason sääntöjä
kuin tavanomaiset säännöt. Siksi tiettyjä asioita ei voi ilmaista vain tavanomaisilla
säännöillä. Useimmat at-säännöt liittyvät CSS:n
kohdentamiseen erityistilanteisiin. Aiemmin
mainittujen at-sääntöjen lisäksi myös
kirjaimiston voi vaihtaa
kirjaimistosäännöllä (@charset).
Sääntöä voi käyttää vain
ulkopuolisissa tyylisivuissa. Sen käyttö
näyttää vaikka tältä:
@charset
"ISO-8859-1";Selainkohtaisia huomautuksia:
DevGuru CSS2 mukaan Mozilla Gecko ja MS IE 5.x+ -selaimet tukevat
@charset at-sääntöä. Erään hyvin luotettavan Mozilla org.
saamani s-postiviestin mukaan se toimii Netscape/Mozilla -selaimissa 4/2000 lähtien. Koska en tiedä,
miten testaisin asian, en voi varmistaa tätä asiaa MS IE:n suhten.
Opera Software ei ilmoita, että Opera 7.x ei @charset tukisi, joten
Opera saattaa tukea sitä.
CSS3:een on ehdotettu lisättäväksi uusia
at-sääntöjä, kuten @namespace. Selostan @namespace
käyttöä sivuilla CSS notes
1
ja Valitsimet
. Se on sääntö, joka tulee
sijoittaa tyylisivun alkuun kuten @charset
at-sääntökin.
, CSS Namespace
Enhancements (CSS3:een tehty ehdotus).At-säännöt (sanan selitys![[S]](../Kuvat/buttons/S.gif)
) ovat kahdenlaisia käskyjä
(statements; sanan selitys![[S]](../Kuvat/buttons/S.gif)
). Ensiksi yksinkertaisia
rivikäskyjä, jotka päättyvät ;-merkkiin. Toiseksi on
käskyjä, joita voimme nimittää
lohkokäskyiksi (tai
käskylohkoiksi), sillä niissä rajoittimina toimivat kaarisulut
({}).
Tällä sivulla käsitelly at-säännöt ovat seuraavat:
@charset (CSS2)@namespace (CSS3)@import (CSS1)@import () [mediatyypinNimi]; (CSS2) (mediatyyppien mukaan kohdistettu CSS)@fontdef (epästandardi)@page (CSS2)@font-face (CSS2)@media (CSS2)Alla on taulukko tällä sivulla mainitsemieni at-sääntöjen tukemisesta:
| Kaikki käytt./ Windows (MS IE): | @import |
@import url() ...; |
@media |
@page |
@charset |
@namespace |
@font-face |
@fontdef |
|---|---|---|---|---|---|---|---|---|
| Opera 7.x+ | ||||||||
| Opera 5.1x-6.x | ||||||||
| Opera 4.x-5.0x | ||||||||
| Mozilla 0.7+, Netscape 6.1+ | ||||||||
| Mozilla 0.6, Netscape 6.0x | ||||||||
| MS IE 5.5+ | ||||||||
| MS IE 5.0 | ||||||||
| MS IE 4.0 | ||||||||
| Opera 3.51-3.6x | ||||||||
| Netscape 4.x | ||||||||
| Mac: | ||||||||
| MS IE 5.0 | ? |
Mediatyyppeihin
verrattava asia on käyttäjän
omien asetusten huomioiminen fontin väreissä jne. Tämän kappaleen tulisi
näkyä
käyttöjärjestelmän työpöydän
teksti- ja taustavärillä. CSS2 (ei CSS1) tarjoaa mahdollisuuden käyttää
systeemifontteja (caption, icon, menu,
message-box, small-caption, status-bar) pikakirjoitteen osana
(esim.
p {font: status-bar ...}). En pidä niiden käyttämistä kovin
mielekkäänä muuten kuin
erikoiskäytössä, esim. tulevaisuudessa
käsipuhelimille suunnitelluilla sivuilla. Esimerkin vuoksi tässä
lauseessa on käyttöjärjestelmän fontti.
Käyttöliittymäominaisuuksiin kuuluvat myös
outline ja cursor (tässä kappaleessa
cursor:wait).
Selainkohtaisia huomautuksia:
Systeemivärit toimivat ainakin Mozilla Gecko, MS IE 4.x+ ja Opera 5.1+ -selaimissa.
ääriviiva eli ominaisuus
outline on toiminut joissakin Netspace 6.0:n
esiversioissa (viimeksi testaamissani Mozilla Gecko -selaimissa siitä on kätössä selaimen tyylisivuissa
epästandardi muunnelma -moz-outline, jota
käsittelen englanninkielisissä CSS-kommenteissa
) ja se toimii moderneista selaimista vain Opera
7.x+:ssa, joskin ainakin Beta1:ssä hieman virheellisesti.
Mozilla Gecko, MS
MS IE:ssä ja Opera 7.x -selaimissa toimii osittain myös ominaisuus cursor (kaikki
arvot eivät toimi paitsi Opera 7.x:ssä).
Uudet Mozilla Gecko -selaimet tukevat myös epästandardeja systeemifontteja ja -värejä.
.Käyttäjän
huomioimista on myös hänen
kielensä mukaisesti tehdyt sivut. Tätä
pyrkimystä kutsutaan W3C piirissä termillä
internationalization (se lyhennetään usein
muotoon i18n). On mahdollista luoda samaan
dokumenttiin oikealta ja vasemmalta kirjoitettavaa tekstiä
(kuten esim. hepreaa) käyttämällä
ominaisuutta direction, jota
käsitellään spesifikaation luvussa 9. Tämä
on kuitenkin itselleni äärimmäisen harvoin
tarvittava piirre enkä ole sitä testannut.
Muut i18n piirteet käsitellään
CSS2
spesifikaation luvussa 12. Siinä tuodaan
esille, että on mahdollista tehdä kielikohtaisia
sitaatteja käyttäen elementtiä Q (=
quote
= sitaatti
. Myös erityisten
listatyyppien käyttö on mahdollista (käsittelen
listoja omalla sivulla
).
, 12
Generated content, automatic numbering, and lists
.CSS3 menee pidemmälle
kansainvälisyysperiaatteen suhteen. Siinä on mm.
ominaisuus layout-grid.
Viittasin aiemmin yhteen uuteen at-sääntöön. CSS3:een on
lisätty myös
käyttöliittymäominaisuuksia.
Merkittävimmät uudistukset koskeva sivutettua mediaa.
Myös Håkon Wium Lien ehdotus tekstin
palstoituksesta (multi-column layout) olisi
hyödyllinen. Käsitteleen viimeisellä sivulla
joitakin
CSS3:een liittyviä piirteitä. Seuraavaksi tutkimme kuitenkin hieman ankkureita ja linkkejä.
Selainkohtaisia huomautuksia:
Erityissitaatit toimivat Mozilla Gecko ja Opera 4.x+ -selaimissa - katso erästä mallia![[S]](../Kuvat/buttons/S.gif)
).
CSS3:een lisätyt listatyypit toimivat Mozilla Gecko -selaimissa.
MS IE 5.5+ Windows tukee eräitä CSS3:een ehdotettuja i18n-piirteitä, joita
käsittelen englanninkielisissä CSS-kommenteissa
.
![Tämän sivun alkuun [Alku]](../Kuvat/buttons/TopImage.gif)
![Edellinen sivu tai jakso [Edell.]](../Kuvat/buttons/leftArrow.gif)
![Seuraava sivu tai jakso [Seur.]](../Kuvat/buttons/rightArrow.gif)
Etusivu
Mitä uutta?
Sanasto
Sisällysluettelo
Kaikki aihepiirit![[Palaute]](../Kuvat/buttons/Email.gif)
![Tulosta tämä sivu! [Tulosta]](../Kuvat/buttons/Print.gif)
![Sivun englanninkielinen versio - The English version of the page [En]](../Kuvat/buttons/En.gif)
![Kopiointioikeudet - Copyrights [Copyr.]](../Kuvat/buttons/copyright.gif)

![Tämän sivun alkuun [Alku]](../Kuvat/buttons/Top.gif)
