hvorfor er det vigtigt at den validerer doctype?!
browseren parser doctype.
browseren henter dtd.
browseren forsøger at parse dokumentet ifølge doctype
her kan der ske to ting:
browseren møder ingen fejl og parser hurtigt dokumentet
browseren viser html elementer ifølge dtd'ens angivelser
eller
browseren møder fejl
browseren parser i fejlaktiveret tilstand
browseren viser elementerne ifølge dens egen standardindstillinger.
det sidste vil få dokumentet til at fremstå forskelligt i forskellige browsere (endog samme browser på forskellig platform) og det er sjældent specielt godt. ud over det bliver visningen mærkbart langsommere hvis doctype'n ikke kan følges.
til eksempel kan du se dette her i IE. den eneste forskel på de to er den øverste firkant er vist med forkert doctype (uden dtd) og vil derfor blive vist med den (forkerte) IE standard nemlig indvendig border. Det korrekte er naturligvis udvendig border som standarden foreskriver.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Untitled</title>
<script type="text/javascript">
runonce=true;
onload = function() {
if (runonce) {
html = document.getElementsByTagName("HTML").item(0);
feed = "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"
http://www.w3.org/TR/html4/loose.dtd\">\n" + html.outerHTML.substring(0,html.outerHTML.indexOf("runonce")+8)+"false"
+ html.outerHTML.substring(html.outerHTML.indexOf("runonce")+12,html.outerHTML.length);
i_document=document.getElementById("iframe").contentWindow.document;
i_document.open();
i_document.write(feed);
i_document.close();
}
}
</script>
</head>
<body>
<div style="width:200px;height:200px;border:25px solid black;"></div>
<iframe src="about:blank"
id="iframe"
style="width:300px;height:300px;"
frameborder="0"
scrolling="no"></iframe>
</body>
</html>
selve essensen i dette spørgsmål er jo at du ønsker at leve op til din doctype, så jeg forstår ikke du er i tvivl om hvorfor det er vigtigt.