HTML Dokumentstruktur Forklaret: Fra DOCTYPE til Body - En Komplet Guide
Forstå HTML dokumentstruktur i detaljer. Lær om DOCTYPE, head-sektionen, meta-tags, body-elementer og hvordan du bygger velstrukturerede HTML-dokumenter.
Forstå HTML dokumentstruktur i detaljer. Lær om DOCTYPE, head-sektionen, meta-tags, body-elementer og hvordan du bygger velstrukturerede HTML-dokumenter.
HTML dokumentstruktur er fundamentet for enhver hjemmeside. At forstå hvordan et HTML-dokument er organiseret, hvad hver sektion gør, og hvordan de arbejder sammen er afgørende for at skabe professionelle, tilgængelige og SEO-optimerede hjemmesider. Denne guide vil tage dig gennem hver del af HTML dokumentstrukturen med detaljerede forklaringer og praktiske eksempler.
Et komplet HTML-dokument består af flere nøglesektioner, hver med sit eget formål:
<!DOCTYPE html>
<html lang="da">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Sidetitel</title>
<!-- Yderligere head-indhold -->
</head>
<body>
<!-- Synligt indhold -->
</body>
</html>
Lad os udforske hver sektion i detaljer.
<!DOCTYPE html>
DOCTYPE (Document Type Declaration) fortæller browseren hvilken version af HTML dokumentet bruger. For HTML5 er erklæringen simpel og skal altid være den første linje i dit dokument.
<!-- HTML5 (nuværende standard) -->
<!DOCTYPE html>
<!-- HTML 4.01 Strict (forældet) -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<!-- XHTML 1.0 Strict (forældet) -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
HTML5's DOCTYPE er meget simplere og mere brugervenlig end tidligere versioner.
<html lang="da">
HTML-elementet er rod-elementet der indeholder alt andet indhold på siden.
Lang-attributten specificerer dokumentets primære sprog:
<html lang="da"> <!-- Dansk -->
<html lang="en"> <!-- Engelsk -->
<html lang="sv"> <!-- Svensk -->
<html lang="no"> <!-- Norsk -->
<html lang="de"> <!-- Tysk -->
Head-sektionen indeholder metadata om dokumentet - information der ikke vises direkte på siden, men som er vigtig for browsere, søgemaskiner og andre værktøjer.
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Sidetitel</title>
<meta name="description" content="Sidebeskrivelse">
<link rel="stylesheet" href="styles.css">
<script src="script.js"></script>
</head>
<meta charset="UTF-8">
Charset meta-tagget specificerer tegnkodningen for dokumentet:
<meta name="viewport" content="width=device-width, initial-scale=1.0">
Viewport meta-tagget kontrollerer hvordan siden vises på mobile enheder:
<title>Sidetitel - Firmanavn</title>
Title-elementet er ekstremt vigtigt for:
<!-- God titel -->
<title>HTML Dokumentstruktur Guide - Mediaweb</title>
<!-- Dårlig titel -->
<title>Side 1</title>
<!-- For lang titel (undgå) -->
<title>Dette er en meget lang titel der sandsynligvis vil blive afkortet i søgeresultater og browser-faner hvilket ikke er ideelt</title>
<meta name="description" content="Lær HTML dokumentstruktur fra bunden. Komplet guide til DOCTYPE, head-sektionen, meta-tags og body-elementer.">
Meta description bruges til:
<!-- SEO og Social Media -->
<meta name="keywords" content="HTML, dokumentstruktur, webudvikling">
<meta name="author" content="Mediaweb Team">
<meta name="robots" content="index, follow">
<!-- Open Graph (Facebook, LinkedIn) -->
<meta property="og:title" content="HTML Dokumentstruktur Guide">
<meta property="og:description" content="Komplet guide til HTML dokumentstruktur">
<meta property="og:image" content="https://eksempel.com/billede.jpg">
<meta property="og:url" content="https://eksempel.com/guide">
<meta property="og:type" content="article">
<!-- Twitter Cards -->
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="HTML Dokumentstruktur Guide">
<meta name="twitter:description" content="Komplet guide til HTML dokumentstruktur">
<meta name="twitter:image" content="https://eksempel.com/billede.jpg">
Link-elementer forbinder eksterne ressourcer til dokumentet:
<!-- Stylesheets -->
<link rel="stylesheet" href="styles.css">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;700&display=swap">
<!-- Favicons -->
<link rel="icon" type="image/x-icon" href="/favicon.ico">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
<!-- Preloading -->
<link rel="preload" href="vigtig-font.woff2" as="font" type="font/woff2" crossorigin>
<link rel="prefetch" href="næste-side.html">
<!-- Canonical URL -->
<link rel="canonical" href="https://eksempel.com/denne-side">
<!-- Eksterne scripts -->
<script src="https://cdn.jsdelivr.net/npm/library@1.0.0/dist/library.min.js"></script>
<!-- Inline scripts -->
<script>
// Kritisk JavaScript der skal køre før siden loader
console.log('Head script kører');
</script>
<!-- Async og defer -->
<script src="script.js" async></script>
<script src="script.js" defer></script>
Body-sektionen indeholder alt synligt indhold på hjemmesiden.
<body>
<header>
<nav><!-- Navigation --></nav>
</header>
<main>
<section><!-- Hovedindhold --></section>
<aside><!-- Sidebar --></aside>
</main>
<footer>
<!-- Footer indhold -->
</footer>
</body>
<header>
<h1>Sidetitel</h1>
<nav>
<ul>
<li><a href="/">Hjem</a></li>
<li><a href="/om">Om</a></li>
<li><a href="/kontakt">Kontakt</a></li>
</ul>
</nav>
</header>
Header kan bruges til:
<nav aria-label="Hovednavigation">
<ul>
<li><a href="/" aria-current="page">Hjem</a></li>
<li><a href="/produkter">Produkter</a></li>
<li><a href="/om">Om Os</a></li>
<li><a href="/kontakt">Kontakt</a></li>
</ul>
</nav>
<main>
<h1>Hovedindhold</h1>
<p>Dette er det primære indhold på siden.</p>
</main>
Main-elementet:
<section>
<h2>Sektions Titel</h2>
<p>Sektions indhold...</p>
</section>
<article>
<header>
<h2>Artikel Titel</h2>
<time datetime="2024-01-15">15. januar 2024</time>
</header>
<p>Artikel indhold...</p>
<footer>
<p>Skrevet af: Forfatter</p>
</footer>
</article>
<aside>
<h3>Relaterede Links</h3>
<ul>
<li><a href="#">Link 1</a></li>
<li><a href="#">Link 2</a></li>
</ul>
</aside>
<footer>
<p>© 2024 Firmanavn. Alle rettigheder forbeholdes.</p>
<nav>
<a href="/privatlivspolitik">Privatlivspolitik</a>
<a href="/vilkår">Vilkår</a>
</nav>
</footer>
Her er et komplet eksempel der demonstrerer alle elementer:
<!DOCTYPE html>
<html lang="da">
<head>
<!-- Grundlæggende meta-information -->
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- SEO meta-tags -->
<title>HTML Dokumentstruktur Guide - Mediaweb</title>
<meta name="description" content="Lær HTML dokumentstruktur fra bunden. Komplet guide til DOCTYPE, head-sektionen, meta-tags og body-elementer.">
<meta name="keywords" content="HTML, dokumentstruktur, webudvikling, guide">
<meta name="author" content="Mediaweb Team">
<meta name="robots" content="index, follow">
<!-- Open Graph meta-tags -->
<meta property="og:title" content="HTML Dokumentstruktur Guide">
<meta property="og:description" content="Komplet guide til HTML dokumentstruktur">
<meta property="og:image" content="https://mediaweb.app/images/html-guide.jpg">
<meta property="og:url" content="https://blog.mediaweb.app/html-dokumentstruktur">
<meta property="og:type" content="article">
<!-- Twitter Card meta-tags -->
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="HTML Dokumentstruktur Guide">
<meta name="twitter:description" content="Komplet guide til HTML dokumentstruktur">
<meta name="twitter:image" content="https://mediaweb.app/images/html-guide.jpg">
<!-- Favicons -->
<link rel="icon" type="image/x-icon" href="/favicon.ico">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
<!-- Stylesheets -->
<link rel="stylesheet" href="/css/main.css">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;600;700&display=swap" rel="stylesheet">
<!-- Preloading -->
<link rel="preload" href="/fonts/inter-var.woff2" as="font" type="font/woff2" crossorigin>
<!-- Canonical URL -->
<link rel="canonical" href="https://blog.mediaweb.app/html-dokumentstruktur">
<!-- Structured Data -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "HTML Dokumentstruktur Guide",
"description": "Komplet guide til HTML dokumentstruktur",
"author": {
"@type": "Organization",
"name": "Mediaweb Team"
},
"datePublished": "2024-01-15",
"dateModified": "2024-01-15"
}
</script>
</head>
<body>
<!-- Skip link for tilgængelighed -->
<a href="#main-content" class="skip-link">Spring til hovedindhold</a>
<!-- Hovedheader -->
<header role="banner">
<div class="container">
<div class="logo">
<a href="/">
<img src="/images/logo.svg" alt="Mediaweb Logo" width="150" height="40">
</a>
</div>
<nav role="navigation" aria-label="Hovednavigation">
<ul>
<li><a href="/">Hjem</a></li>
<li><a href="/guides">Guides</a></li>
<li><a href="/om">Om</a></li>
<li><a href="/kontakt">Kontakt</a></li>
</ul>
</nav>
</div>
</header>
<!-- Hovedindhold -->
<main id="main-content" role="main">
<div class="container">
<!-- Artikel -->
<article>
<header class="article-header">
<h1>HTML Dokumentstruktur Forklaret</h1>
<p class="lead">Fra DOCTYPE til Body - En Komplet Guide</p>
<div class="article-meta">
<time datetime="2024-01-15">15. januar 2024</time>
<span>af Mediaweb Team</span>
</div>
</header>
<div class="article-content">
<section>
<h2>Introduktion</h2>
<p>HTML dokumentstruktur er fundamentet for enhver hjemmeside...</p>
</section>
<section>
<h2>DOCTYPE Erklæringen</h2>
<p>DOCTYPE fortæller browseren hvilken version af HTML...</p>
</section>
<!-- Flere sektioner... -->
</div>
<footer class="article-footer">
<div class="tags">
<span>Tags:</span>
<a href="/tags/html">HTML</a>
<a href="/tags/dokumentstruktur">Dokumentstruktur</a>
<a href="/tags/webudvikling">Webudvikling</a>
</div>
</footer>
</article>
<!-- Sidebar -->
<aside role="complementary">
<section class="related-articles">
<h3>Relaterede Artikler</h3>
<ul>
<li><a href="/html-basics">HTML Grundlæggende</a></li>
<li><a href="/html-tags">HTML Tags og Attributter</a></li>
<li><a href="/semantic-html">Semantisk HTML</a></li>
</ul>
</section>
<section class="newsletter">
<h3>Tilmeld Nyhedsbrev</h3>
<form action="/newsletter" method="post">
<label for="email">Email:</label>
<input type="email" id="email" name="email" required>
<button type="submit">Tilmeld</button>
</form>
</section>
</aside>
</div>
</main>
<!-- Footer -->
<footer role="contentinfo">
<div class="container">
<div class="footer-content">
<div class="footer-section">
<h4>Mediaweb</h4>
<p>AI-drevet hjemmeside builder</p>
</div>
<div class="footer-section">
<h4>Links</h4>
<ul>
<li><a href="/privatlivspolitik">Privatlivspolitik</a></li>
<li><a href="/vilkår">Vilkår og Betingelser</a></li>
<li><a href="/kontakt">Kontakt</a></li>
</ul>
</div>
<div class="footer-section">
<h4>Følg Os</h4>
<ul class="social-links">
<li><a href="#" aria-label="Facebook">Facebook</a></li>
<li><a href="#" aria-label="Twitter">Twitter</a></li>
<li><a href="#" aria-label="LinkedIn">LinkedIn</a></li>
</ul>
</div>
</div>
<div class="footer-bottom">
<p>© 2024 Mediaweb. Alle rettigheder forbeholdes.</p>
</div>
</div>
</footer>
<!-- Scripts -->
<script src="/js/main.js" defer></script>
<!-- Analytics (eksempel) -->
<script>
// Google Analytics eller anden tracking kode
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="da">
<head>
<!-- Meta-tags først -->
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- Titel -->
<title>Sidetitel</title>
<!-- Andre meta-tags -->
<meta name="description" content="...">
<!-- Links til stylesheets -->
<link rel="stylesheet" href="styles.css">
<!-- Scripts (hvis nødvendigt i head) -->
<script src="critical.js"></script>
</head>
<body>
<!-- Indhold -->
<!-- Scripts før lukkende body tag -->
<script src="main.js"></script>
</body>
</html>
<body>
<header><!-- Site header --></header>
<nav><!-- Hovednavigation --></nav>
<main>
<article><!-- Hovedindhold --></article>
<aside><!-- Sidebar --></aside>
</main>
<footer><!-- Site footer --></footer>
</body>
<!-- Skip links -->
<a href="#main-content" class="skip-link">Spring til hovedindhold</a>
<!-- ARIA roles -->
<header role="banner">
<nav role="navigation" aria-label="Hovednavigation">
<main role="main" id="main-content">
<aside role="complementary">
<footer role="contentinfo">
<!-- Overskrift hierarki -->
<h1>Hovedtitel</h1>
<h2>Sektion</h2>
<h3>Undersektion</h3>
<head>
<!-- Kritiske ressourcer først -->
<link rel="preload" href="critical.css" as="style">
<link rel="preload" href="hero-image.jpg" as="image">
<!-- Preconnect til eksterne domæner -->
<link rel="preconnect" href="https://fonts.googleapis.com">
<!-- Async/defer for scripts -->
<script src="analytics.js" async></script>
<script src="main.js" defer></script>
</head>
<!-- Forkert -->
<html>
<head>...
<!-- Korrekt -->
<!DOCTYPE html>
<html lang="da">
<head>...
<!-- Forkert -->
<head>
<title>Titel</title>
<meta charset="UTF-8">
<!-- Korrekt -->
<head>
<meta charset="UTF-8">
<title>Titel</title>
<!-- Forkert -->
<html>
<!-- Korrekt -->
<html lang="da">
<!-- Forkert -->
<main>Indhold 1</main>
<main>Indhold 2</main>
<!-- Korrekt -->
<main>
<section>Indhold 1</section>
<section>Indhold 2</section>
</main>
Brug W3C Markup Validator til at tjekke din dokumentstruktur:
# Online validator
https://validator.w3.org/
# Command line validator
npm install -g html-validate
html-validate index.html
# axe-core for tilgængelighed
npm install -g @axe-core/cli
axe https://din-hjemmeside.com
# Lighthouse for performance
npm install -g lighthouse
lighthouse https://din-hjemmeside.com --output html --output-path report.html
HTML dokumentstruktur er mere end bare tags - det er arkitekturen der understøtter hele din hjemmeside. Ved at forstå og implementere korrekt dokumentstruktur sikrer du at dine hjemmesider er tilgængelige, SEO-venlige, performante og fremtidssikre.
Start med en solid struktur og byg derfra. Husk at validere din kode regelmæssigt og test på forskellige enheder og browsere. Med en god forståelse af HTML dokumentstruktur har du fundamentet til at skabe professionelle hjemmesider der fungerer for alle brugere.
Fortsæt med at læse disse relaterede artikler
Lær HTML fra bunden med denne omfattende guide, der forklarer hvad HTML er, dokumentstruktur, essentielle tags og hvordan du skaber din første hjemmeside.
Lær alt om HTML tags og attributter, hvordan de fungerer, bedste praksis for semantisk markup og hvordan du skriver ren, tilgængelig HTML-kode.
Lær hvordan du bruger HTML overskrifter (H1-H6) og paragraffer effektivt. Forstå hierarki, tilgængelighed, SEO-fordele og bedste praksis for tekststruktur.
Lær alt om HTML links og ankre. Forstå href-attributten, forskellige link-typer, anker-links, tilgængelighed og bedste praksis for navigation.