CSS: Bugit 2008-08-02 11:35
| Kuvaus: | Selaimet toistavat toisinaan CSS-muotoiluja eri tavoin. Mitä monimutkaisemmaksi muotoilut käyvät, sitä todennäköisemmäksi käyvät myös erot selaimien tavasta näyttää sivu. Tästä syystä CSS-koodi kannattaa säilyttää mahdollisimman yksinkertaisena. Ongelmiin kannattaa aina etsiä ratkaisuja ensisijaisesti tarkistamalla XHTML:n oikeellisuus, ja normaaleista CSS-määrityksistä (ja tarvittaessa nollata selainten oletusmääritykset), mutta CSS-koodia voidaan kuitenkin osoittaa vain rajatuille selaimille, ja niiden versioille, mutta mikään tapa ei ole täysin ongelmaton.
CSS-suodattimetYksi tapa kohdistaa CSS-muotoiluja vain tietyille selaimille ovat CSS-suodattimet. Ne perustuvat sopivissa kohdissa väärinkirjoitettuun CSS-kieleen, jonka osa selaimista osaa tulkita oikein, osa ei. Näin CSS-bugeja pyritään siis korjaamaan toisen bugin avulla. Ongelmaksi muodostuu se, että tulevien selainten käyttäytymistä näiden ratkaisujen kohdalla on mahdotonta ennakoida. Uusien selainversioiden myötä sivut saattavat toimia täysin odottamattomalla tavalla.
Internet ExplorerEhdolliset kommentitSuodattimia suositeltavampi tapa on käyttää ehdollisia kommentteja oman tyylin tekemiseksi Internet Explorerin niiltä osin kuin se tulkitsee CSS:ää poikkeavalla tavalla. Esimerkiksi kaikille IE-versioille suunnatun tyylitiedoston linkittäminen täydennyksiä varten tehdään sijoittamalla XHTML-dokumentissa varsinaiseen tyylitiedostoon linkittävän rivin alapuolelle seuraava ehdollinen kommentti: <!--[if IE]> <link rel="stylesheet" type="text/css" media="screen" href="tyyli_ie.css" /> <![endif]--> Internet Explorer on kuitenkin ainoa selain joka ehdollisia kommentteja tukee.
IE8:n IE7-yhteensopivuustilaMikäli sivusi ovat standardinmukaiset, ja toimivat IE7:ssa, mutta eivät tulevassa IE8:ssa, voit lisätä sivujesi metatietoihin seuraavan rivin, joka näyttää sivut IE8:n IE7-yhteensopivuustilasssa. <meta http-equiv="X-UA-Compatible" content="IE=7" /> Huom! Tämä ei toimi muiden selainversioiden suhteen.
IE ja pseudoelementit :before ja :afterHaluttujen elementtien eteen tai jälkeen voidaan automaattisesti lisätä jokin merkki content-ominaisuudella. Haluttu teksti lisätään lainausmerkkeihin. Pseudoelementit :before ja :after eivät kuitenkaan toimi Internet Explorerissa. Siksi kannattaa käyttää mieluummin taustakuvia ominaisuuksien background ja padding avulla. content ja q-elementtiTekstinsisäisten lainausten merkkaamiseen käytetty q-elementti lisää merkatun alueen ympärille lainausmerkit. Elementti on kuitenkin huonosti tuettu, eikä esimerkiksi IE lisää lainausmerkkejä automaattisesti. Siksi tekstille kannattaa toistaiseksi lisätä itse lainausmerkit, ja poistaa elementtiä tukevilta selaimilta automaattisesti lisätyt lainausmerkit. Tämä ei ole kuitenkaan tapa jolla q-elementtiä tulisi käyttää. XHTML-asiakirjassa:
<p>Tämä lause sisältää <q>"lainattua tekstiä"</q>.</p>
CSS-muotoilu: q:before, q:after {
content: "";
}
IE-ongelmista
|
| Luokka: | web » css |
| Avainsanat: | css |