Hvad er DOCTYPE-erklæringen i HTML?

HTML-dokumenttypedeklarationen, også kendt som DOCTYPE, er den første kodelinje, der kræves i hvert HTML- eller XHTML-dokument. Den DOCTYPEerklæring er en instruktion til webbrowseren om, hvad version af HTML siden er skrevet i. Dette sikrer, at den webside analyseres på samme måde af forskellige webbrowsere.

I HTML 4.01 DOCTYPEhenviser erklæringen til en dokumenttypedefinition (DTD). En DTD definerer strukturen og de juridiske elementer i et XML-dokument. Da HTML 4.01 var baseret på Standard Generalized Markup Language (SGML), DOCTYPEvar det nødvendigt at henvise til en DTD i erklæringen.

Derudover doctypes for HTML 4.01 krævede erklæring om enten strict, transitionaleller framesetDTD, hver med en anden use case som skitseret nedenfor.

  • Streng DTD : Bruges til websider, der ekskluderer attributter og elementer, som W3C forventer at udfase, efterhånden som CSS-support vokser
  • Overgangs-DTD : Bruges til websider, der indeholder attributter og elementer, som W3C forventer at udfase, efterhånden som CSS-support vokser
  • Frameset DTD : Bruges til websider med rammer

I modsætning hertil er erklæringen af ​​HTML5 DOCTYPEmeget enklere: den kræver ikke længere en henvisning til DTD'er, da den ikke længere er baseret på SGML. Se eksemplerne nedenfor for en sammenligning mellem HTML 4.01 og HTML5 DOCTYPEs.

Eksempler

Doktypesyntaks til HTML5 og derover:

Doktypesyntaks til streng HTML 4.01:

Doktypesyntaks til overgangs HTML 4.01:

Doktypesyntaks til rammesæt HTML 4.01:

Historie

I løbet af de formative år med HTML var webstandarder ikke aftalt endnu. Browser-leverandører ville oprette nye funktioner på den måde, de ønskede. Der var lidt bekymring for konkurrerende browsere.

Resultatet var, at webudviklere skulle vælge en browser, de skulle udvikle deres websteder til. Dette betød, at websteder ikke ville gengive godt i ikke-understøttede browsere. Denne situation kunne ikke fortsætte.

W3C (World Wide Web Consortium) skrev et sæt webstandarder til håndtering af denne situation. Alle browserudbydere og webudviklere skal overholde disse standarder. Dette ville sikre, at websteder ville gengive godt på tværs af browsere.

De ændringer, der kræves i henhold til standarderne, var ret forskellige fra nogle eksisterende fremgangsmåder. Overholdelse af dem ville bryde eksisterende websteder, der ikke er standarder.

For at håndtere dette problem begyndte leverandører at programmere gengivelsestilstande i deres browsere. Webudviklere skal tilføje en doktypedeklaration øverst i et HTML-dokument. Doktypedeklarationen fortæller browseren, hvilken gengivelsestilstand, der skal bruges til dette dokument.

Tre separate gengivelsestilstande var generelt tilgængelige på tværs af browsere.

  • Fuld standardtilstand gengiver sider i henhold til W3C-webstandarder.
  • Quirks-tilstand gengiver sider på en ikke-standardistisk måde.
  • Næsten standardtilstand er tæt på fuld standardtilstand, men understøtter et lille antal quirks.

I den moderne tidsalder med HTML5 implementeres webstandarder fuldt ud i alle større browsere. Websteder er generelt udviklet på en standardkonform måde. På grund af dette findes HTML5-doktypedeklarationen kun for at fortælle browseren at gengive dokumentet i fuld standardtilstand.

Anvendelse

Doktypedeklarationen skal være den allerførste kodelinje i et HTML-dokument bortset fra kommentarer, som kan gå foran den, hvis det er nødvendigt. For moderne HTML5-dokumenter skal doktypedeklarationen være som følger:

Mere information:

Selvom de ikke længere er i almindelig brug, er der flere andre typer doktypedeklarationer fra tidligere versioner af HTML. Der er også specifikke versioner til XML-dokumenter. For at læse mere om disse og se kodeeksempler for hver, se Wikipedia-artiklen.

En note fra W3

MDN Ordlisteindgang

W3Skoler

En hurtig forklaring på "Quirks Mode" og "Standards Mode"