Det allerførste der skal stå i en HTML-fil skal være en deklaration af dokumenttypen. Det er her man fortæller browseren hvordan den skal læse resten af filen, dvs. hvilke regler der skal følges. Man har som udvikler to muligheder her: HTML 4.01 og HTML 5.
HTML 4.01 er den pt. gældende norm, som alle browsere kan forstå. HTML 5 er den nye norm, som W3C er ved at udvikle. Hvornår den er endelig klar, hersker der noget tvivl om, men nye browsere kan allerede nu anvende flere at de nye tags, og ældre browsere vil blot ignorere tags de ikke kender, og behandle dem de kender som om det var HTML 4.01. Neden under er deklarationerne for både HTML 4.01 og HTML 5, og man kan bruge dem efter behag. Anbefalingen herfra er dog at bruge HTML 5.
HTML 5 deklarationen
HTML 5 har kun én setting, hvilket gør det meget lettere at arbejde med HTML 5 end HTML 4.01:
<!DOCTYPE HTML>
HTML 4.01 deklarationen
Hvis man endelig vil bruge HTML 4.01, så er der tre typer deklaration: strict, transitional og frameset, og koderne for de tre ser således ud for HTML version 4, som er den nuværende standard:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<!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 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
Forskellen på de tre ligger primært i hvor stringent browseren skal holde sig til kodningen. Populært sagt, så tillader transitional og frameset, at browseren laver fortolkninger og gæt, hvis koden ikke er korrekt. Generelt anbefales det at man bruger strict, idet det giver de færreste problemer med forskellene i de forskellige browsere.
Det kan lyde besnærende at lade browseren rette op på ens fejl i programmeringen, men erfaringsmæssigt, er det en meget dårlig idé. Forskellene i mellem browserne gør, at det at lade browserne være kreative, giver flere problemer end det løser. Det hænder, at man skal bruge kommandoer eller parametre som kræver transitional eller frameset for at siden blive afviklet korrekt, men som udgangspunkt er strict at foretrække ved HTML 4.
Strukturering af HTML
Det næste der skal stå, er
<HTML>
<HEAD>
</HEAD>
<BODY>
</BODY>
</HTML>
Dette er tags, som bliver gennemgået på andre sider. Teksten som den ser ud nu, fortæller at der kommer noget HTML, og det HTML indeholder først en sektion der hedder HEAD, og derefter en sektion der hedder BODY. HEAD er der hvor man bl.a. skriver titlen på siden som det står i på vinduesbjælken og fanebladene, hvis de vises. BODY er sidens indhold, som man ser den.
Som siden ser ud nu, med DOCTYPE, HTML, HEAD og BODY, har vi en helt blank side som kan læses af en browser.
Koden med DOCTYPE, HTML, HEAD og BODY skal stå på samtlige sider på sitet!
Se evt. videoen her:
Navngivning af den første fil
Den første fil der bliver læst, når man går ind på et site er den fil der hedder index.htm. Findes den ikke, leder browseren efter en fil der hedder default.htm. Findes en af disse filer ikke, kommer der en fejlmeddelelse om at browseren ikke kan finde sitet. Navnene index og default skal være i lowercase, dvs. små bogstaver, ellers kan browserne ikke finde ud af at læse dem, af sig selv. Forklaringen er, at serverne er case sensitive, dvs. den skelner mellem store og små bogstaver, så Index.htm og index.htm er to forskellige filer, og browseren leder kun efter index.htm.
Der er selvfølgelig en work-around til det med den første fil. Der findes en fil der hedder .htaccess, hvor man kan pege hen på en anden fil der skal åbnes. Det er dog en af den slags filer, hvor man skal være lidt øvet inden man piller ved noget. En banal stavefejl kan gøre at intet på sitet virker.
Sites der automatisk fører en til en åbningsside f.eks. på ens eget sprog, er ikke, at der læses en anden side end index eller default som det første. Der sidder et lille program, som, når man åbner siden, detekterer hvor i Verden man sidder, og derefter åbner en ny side i stedet.