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 > Oppaan lisäsivut > N Millaisia CSS-totetusvirheitä selaimissa on (introjakso) |
|---|
Tämä sivu on jaettu jaksoihin, jotka sisältävät seuraavia aiheita:
Selaimet tekevät virheitä ja niistä puuttuu
ominaisuuksia. En tässä yhteydessä käy
lävitse yksityiskohtaisesti selainten virheistä. Voit lukea myös toisen sivun![[S]](../Kuvat/buttons/S.gif)
, joka
käsittelee selainten
virheitä.
Olennaista on myös itse välttää virheitä. MS IE 4.x-5.5 Windows sallii melko paljon virheellisiä määreitä. Tämä on ongelmallista, sillä toiset selaimet eivät niitä samassa määrin salli. Ylipäätänsä tulevaisuuden selaimet sallivat aikaisempaa vähemmän virheitä. CSS-määrittelyt kannattaa tarkistuttaa W3C organisaation koodintarkastusohjelmalla (validator).
Vaikka kaikki uudet selaimet eivät juuri hyväksy virheitä jopa selaimet,
joiden tulisi toimia tietyillä DTD:llä ns. standard(-compliant) -moodissa tiukasti spesifikaatioiden
mukaisesti, hyväksyvät epäkelpoa/ selaimelle tuntematonta CSS:ää (jos ne
eivät toimi standard(-compliant) -moodissa ne hyväksyvät enemmän virheitä).
Näillä selaimilla on ns. "DTD-kytkin"![[S]](../Kuvat/buttons/S.gif)
. Olen havainnut seuraavia virheitä epäkelvon tai tuntemattoman CSS:n
hyväksymisessä:
#-abc {...} ja #-abc {...}.position:fixed, mutta se tunnistaa sen ja muuttaa arvon
fixed arvoksi static. Jos selain ei tue jotain arvoa, sen tulisi käsitellä
sitä ikään kuin laittomana arvona eikä asettaa tilalle oletusarvoa. MS IE 6.0
hylkää kuitenkin position:fixes, mikä osoittaa, että epäkelpojen
arvojen hylkääminen osittain toimii.inherit, mutta se asettaa joissakin tilanteissa sen tilalle
oletusarvon. MS IE saattaa vaihtaa myös kokonaan epäkelvon arvon oletusarvoon. Alla olevissa
tapauksissa se vaihtaa kokonaan epäkelvon arvon inherits oletusarvoon
none vaikka sen tulisi vain hylätä jälkimmäinen ominaisuus:MS IE 6.0 windows lukee sekä<div style="border: 3px solid green">ulompi<div style="border: 3px double blue; border-bottom-style:inherits;">sisempi</div>ulompi</div>
että
<div style="border: 3px solid green">ulompi<div style="border: 3px double blue; border-bottom-style:inherit;">sisempi</div>ulompi</div>
ikään kuin
<div style="border: 3px solid green">ulompi<div style="border: 3px double blue; border-bottom-style:none;">sisempi</div>ulompi</div>
Opera 7.x -selaimissa on MS IE:tä suppea-alaisempi kytkin ja vanhemmista kytkin puuttuu kokonaan. Siksi Opera-selainten täytyy tehdä joitakin kompromisseja, koska Web-suunnittelijoilla on pahoja tapoja suosia epäkelpoa CSS:ää erityisesti JavaScript-koodauksissa. Opera hyväksyy ainakin seuraavat virheet (mainitsen myös sen, voisiko Opera Software mielestäni muuttaa selaimen käytöstä):
#-abc {...}. Opera Software voisi muuttaa tässä
kohdin selaimen käytöstä.position:absolute; top:10;
left: 10. Operan täytyy hyväksyä näitä koska ne ovat niin yleisiä.
Jotta Opera voisi toimia edes joskus 100% CSS2-spesifikaation mukaan, selain tarvitsisi tässä
kohdin DTD-kytkimen (toinen asia, jossa Opera tarvitsisi DTD-kytkintä on fonttikoot
xx-small-xx-large; ks. Model8c.html
).border:1p solid black. Opera hylkää kuitenkin border:some solid
black, mikä osoittaa että lukuun ottamatta epäkelpojen yksiköiden vaihtamista
oletusarvoihin, epäkelvon CSS:n hylkääminen toimii yleisesti ottaen sangen hyvin. Opera
Software voisi muuttaa tässä kohdin selaimen käytöstä. Se voisi tarvita
tälle asialle DTD-kytkimen.tyylisivut ja niiden säännöt tulisi organisoida erittäin systemaattisesti. Itselläni on ollut ongelmia, koska sivuni eivät alunperin niitä käyttäneet. organisointi on vähän niin ja näin, mistä johtuu toisinaan seuraavia ongelmia.:
Vihje. Tee kaikista
käyttämistäsi CSS-tiedostoista index.css, jolloin
voit tarkistaa ne kaikki kerralla! Katso malliksi testi
CSS-tiedostoni lähdekoodi
tekstitiedostona![[S]](../Kuvat/buttons/S.gif)
.
Aiemmilla sivuilla olen tuonut esille toimivia ratkaisuja ja
englanninkielisellä sivullani niitä on lisää:
Illegal definitions and hints to
avoid problems![[S]](../Kuvat/buttons/S.gif)
.
Löydät tarkemman tiedon selainten virheistä Webstandards organisaation sivuilta. He antavat mm. ns. "Top ten" -listan selainten virheistä. Erään dokumentaation selainten CSS1-toteutus virheistä löydät Webreview-firman sivuilta.
Webstandards, webreview.com.