4 februari 2007
Doctype staat voor ‘document type declaration’. Dit doctype vertelt je browser hoe het de html en css moet interpreteren. En je voelt hem al aankomen: gebruik je op je website geen of een onvolledig doctype, dan weet de browser ook niet goed het met de code om moet gaan. De browser vliegt dan in de zogenaamde quirks mode. Dit resulteert dan vaak in het feit de je website er in verschillende browsers totaal anders, of zelfs slecht uitziet en je urenlang bezig met bent met allerlei hacks om het zaakje weer een beetje recht te trekken. Het bekendste probleem hierbij is wel die van het box model.
De reden dat we een doctype op onze pagina?s moeten plaatsen is dus dat de browsers een referentie hebben, zodat ze weten hoe ze met de code om moeten gaan; de standards-compliant mode. Maar niet alleen de browsers weten hoe ze de code moeten behandelen, ook de validators weten ze waaraan ze de pagina moeten testen.
Hierin onderscheiden we de twee meest gebruikte: HTML 4.01 en XHTML 1.0. Per ‘categorie’ hebben we drie aparte doctypes, elk met een eigen doel. Hieronder even een kort overzicht:
Deze gebruik je als de website is opgebouwd door middel van frames. Maar aangezien we net in dit artikel – althans de voorgaande delen daarvan ? hebben gelezen dat we dat niet meer gaan doen, kunnen we deze wat mij betreft wel vergeten.
Het Transistional doctype is bedoeld voor de overgang naar een andere HTML versie. Dit houdt in dat bij gebruik van dit doctype wat meer is toegestaan en nog een aantal oude elementen en attributen van de voorgaande versie nog ondersteunt. Zo mag je met XHTML 1.0 Transitional nog het target attribuut of de font tag te gebruiken, terwijl deze met het Strict doctype niet meer toegestaan zijn.
Uiteindelijk hebben we dan nog het Strict doctype. Wat mij betreft hèt doctype die je moet gebruiken. Zoals de naam al zegt is dit doctype erg strikt en zijn afgekeurde elementen en attributen dus niet meer toegestaan. Bij goed gebruik hiervan krijg je dus automatisch ook een stuk nettere code.
Tip: Gebruik altijd een doctype met een volledige URI erin, zoals de voorbeelden hierboven. Doe je dit niet heb je een onvolledig doctype en zal je browser dus in Quirks mode springen.
Tip 2:In Internet Explorer kun je de browser ook handmatig in Quirks mode zetten, terwijl je toch een geldig doctype hebt. Om dit voor elkaar te krijgen dien je te zorgen dat er iets aan tekst voor de doctype declaratie staat. Vaak zie je dit in de vorm van een stukje xml (i.v.m. character encoding) of een stuk html commentaar. Je moet dus even opletten of je überhaupt wel wilt of je in Quirks mode werkt, anders zul je dit dus even aan moeten passen.