Onko !DOCTYPE:n käyttämisestä mitään etuja HTML dokumenteissa?
1. Teet oikeaoppista ja validia koodia.
2. Selain tietää dokumentin tyypin ja miten se kuuluu renderöidä. (doctypen pois jäänti vaikuttaa ainakin jossain IE:ssä siihen miltä lopputulos näyttää)
DOCTYPEn käytöstä on valtavia etuja. Ilman sitä sivu renderöidään käyttäen 90-luvun renderöintitapoja, jotka eivät olleet kovinkaan tarkasti määriteltyjä. Esimerkiksi Netscape ja IE renderöivät eri tavalla, nykyinen päärenderöinti sen osalta perustuu pääosin IE:n tapaan, mutta selainten välillä on siitä huolimatta edelleen joitakin eroja. Nykyinen tilanne vanhankin renderöinnin suhteen on toki parantunut, mutta on parempi siirtyä edes HTML 4.01 standardiin, joka on sekin sentään jo kymmenen vuotta vanha.
DOCTYPEn avulla selaimen saa käyttämään paras mahdollista renderöintiään, mitä sillä on tarjota. Tämä yhtenäistää toimintaa jopa IE6:ssa ja tekee paljon helpommaksi saada lopputuloksesta yhtenäisen useamman eri selaimen välillä, etenkin jos HTML on rakenteeltaan monimutkaisempi. Lisäksi kaikki selaimet eivät tarjoa kaikkia ominaisuuksiaan (esim. CSS:n osalta), mikäli käytössä ei ole DOCTYPEä. Muun muassa IE7 ja IE8 tekevät näin.
HTML 5 on tulossa, sillä on hyvin simppeli DOCTYPE: <!DOCTYPE html>
– tämän merkitys on nimenomaan muutettu siihen muotoon, että sivu tulee renderöidä käyttäen selaimen parasta renderöintitukea. Kukaan ei estä käyttämästä tätä jo nyt, ainut haitta on vaan se ettei IE6 eikä edes IE7 tainnut tajuta sitä.
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
käyttää HTML 4:n syntaksia, mutta muutoin esimerkiksi CSS-tuki on parasta mahdollista.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
käyttää XHTML 1:n syntaksia, mutta sama pätee tässä kuin HTML 4:n kohdalla. Kaikki HTML 4:n elementit eivät ole sallittuja XHTML 1:ssä.
Lisäksi on olemassa Transitional-versiot, joita imo käytetään liian paljon. Ne on alunperin tarkoitettu niille sivuille, jotka on siirtymässä DOCTYPEä edeltävästä ajasta standardien maailmaan, mutta kamalan monet sivut ovat aloittaneet uudenkin pohjan suoraan Transitionalista. Tämä on käsittääkseni ollut yksi syy siihen, miksi HTML 5:ssä on luovuttu siitä kokonaan. Transitional sallii joitakin juttuja, joita ei voi Strict-sivuissa käyttää.
Ja tää koko litanja tuli ulkomuistista, joten joku yksityiskohta voi olla vähän väärällään, mutta vastauksen pitäisi ainakin olla selvä :)
En tiennyt että joku käyttää vielä IE 6 tai 7 :D
Taidampa jatkaa <!DOCTYPE html>:n käyttämistä koodeissani.
Kiitos vastauksista!
Jokotai kirjoitti:
En tiennyt että joku käyttää vielä IE 6 tai 7 :D
Taidampa jatkaa <!DOCTYPE html>:n käyttämistä koodeissani.
Kiitos vastauksista!
Niin surullista kuin se onkin, niin IE 6:sta ja 7:aa käyttää vielä yli 7% per selain, siis yli kymmenesosa seilaa vanhentuneella IE:llä, joka taas ainakin omalla osalla on aiheuttanut harmaita hiuksia sivujen ulkonäön kanssa.
Kannattaa kuitenkin muistaa, että kotikäyttäjistä valtaosa on siirtynyt uudempiin selaimiin. IE6 ja IE7 ovat pääosin yritysten käytössä. Siispä kannattaa seurata ennemminkin juuri oman sivuston kävijöiden selaimia eikä seurata yleisempiä tai muiden tilastoja (mielenkiintoaan voi toki täytellä). Erityisesti Suomessa IE:llä on muuta maailmaa heikompi osuus; ellei kurssi ole joskus lähikuukausina ehtinyt kääntyä. Edellisestä omasta tilanneseurannastani on kuitenkin kai jo jotain puoli vuotta aikaa.
Merri kirjoitti:
Kukaan ei estä käyttämästä [<!DOCTYPE html>:ää] jo nyt, ainut haitta on vaan se ettei IE6 eikä edes IE7 tainnut tajuta sitä.
Nyt taidat puhua palturia, nimittäin ainakin IE6 reagoi tähän. Eron voi todeta vaikka seuraavalla koodilla (DOCTYPE-rivillä ja ilman):
<!DOCTYPE html> <html> <head><title>Moi</title></head> <body> <div style="background-color: green; width: 160px; height: 160px; border: 1px solid black;"> <div style="background-color: red; width: 100px; height: 100px; padding: 10px; margin: 10px; border: 10px solid blue;"> </div> </div> </body> </html>
Havaintoa puoltavat myös muut tahot.
Ah, no sehän hienoa. Onneksi laitoin disclaimerin viestin loppuun ^__^;;
Aihe on jo aika vanha, joten et voi enää vastata siihen.