Er zijn 2 verschillende manieren waarop een browser een webpagina weer kan geven: de quirksmodus (soms ook compatibilitymodus genoemd, dat betekend 'uitwisselbaarheidsmodus'), of de standards-modus. Als er geen doctype is aangegeven (wat overigens eigenlijk niet mag, want het doctype-element is een verplicht onderdeel van iedere html-pagina), zal de browser automatisch overschakelen naar de quirksmodus. Vroeger was het nog niet verplicht om een doctype op te nemen (want die bestond simpelweg nog niet). Als je dus geen doctype opgeeft, denkt een browser dat jouw website gemaakt is voor een oudere browser.
Omdat de browser denkt dat jouw website gemaakt is voor een oudere browser, zal hij bugs (fouten) van de oudere browser simuleren (nadoen). Hij zorgt er dus expres voor dat jouw website soms niet helemaal goed wordt weergegeven.
Veel websites zonder doctype zijn wel erg oud. Toen die gemaakt werden, werden ze getest op een oudere browser. Die browser had toen een aantal bugs, en daardoor waren veel mensen van de webstandaarden afgeweken, zodat de website het wel goed deed op de oude browser. Later zijn die bugs uit de browser gehaalt. Daardoor hielden de browsers zich wel aan de webstandaarden, maar de websites niet. Hierdoor zou de website er helemaal niet goed meer uitzien, en daarom is er de quirksmode uitgevonden: hier doen de browsers net alsof ze oude browsers zijn, en zullen de websites er wel goed uitzien.
Voor een nieuwe website, die zich wel aan de webstandaarden houdt, is de quirksmodus helemaal niet handig. Daarom moet je altijd een doctype aangeven. Dat doe je door de volgende regel helemaal bovenaan je html-pagina's te zetten:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Titel van je website</title>
</head>
<body>
Inhoud van je website
</body>
</html>