In HTML DOCTYPE
muss das zuerst kommen, gefolgt von einem einzelnen <html>
Element, das ein <head>
Element enthalten muss, das ein Element enthält <title>
, gefolgt von einem <body>
Element. Siehe die Beschreibung der globalen Struktur eines HTML-Dokuments in HTML 4.01 und im HTML5-Entwurf . Die tatsächlichen Anforderungen sind meistens die gleichen DOCTYPE
, aber sie werden unterschiedlich beschrieben.
Die tatsächlichen Tags ( <html>
, </html>
, <head>
, usw.) sind optional; Die Elemente werden automatisch erstellt, wenn die Tags nicht vorhanden sind. <title>
ist das einzige erforderliche Tag in HTML. Das kürzeste gültige HTML 4.01-Dokument (zumindest das ich generieren könnte) ist (benötigt ein, <p>
weil es etwas in dem geben muss <body>
, um gültig zu sein):
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd"><title></title><p>
Und das kürzeste gültige HTML5-Dokument:
<!DOCTYPE html><title></title>
Beachten Sie, dass in XHTML alle Tags explizit angegeben werden müssen. Es werden implizit keine Elemente eingefügt.
Browser führen unter bestimmten Umständen ein Sniffing des Inhaltstyps durch, um den Typ einer Ressource zu bestimmen, die nicht mithilfe eines Content-Type
HTTP-Headers angegeben wurde, sowie das Sniffing der Zeichenkodierung, wenn der Content-Type
Header nicht angegeben wurde oder kein enthält charset
(Sie sollten es im Allgemeinen versuchen um diese Header einzuschließen und sicherzustellen, dass sie korrekt sind, aber es gibt einige Umstände, unter denen Sie dies nicht können (z. B. lokale Dateien, die nicht über HTTP übertragen wurden). Zu diesen Zwecken schnüffeln sie jedoch nur eine begrenzte Anzahl von Bytes am Anfang des Dokuments. Daher sollte sich alles, was das Sniffing von Inhalten oder das Sniffing von Zeichencodierungen beeinflussen soll, am Anfang des Dokuments befinden.
Aus diesem Grund gibt HTML5 an, dass jedes meta
Tag, mit dem der Zeichensatz (entweder <meta http-equiv="Content-type" content="text/html; charset=...">
oder einfach <meta charset=...>
) angegeben wird, innerhalb der ersten 1024 Byte der Datei liegen muss, damit es wirksam wird. Wenn Sie also Informationen zur Zeichenkodierung in Ihr Dokument aufnehmen möchten, sollten Sie das Tag früh in die Datei einfügen, möglicherweise sogar vor dem <title>
Element. Denken Sie jedoch daran, dass dieses Tag nicht erforderlich ist, wenn Sie einen Content-type
Header ordnungsgemäß angeben .
In CSS haben spätere Stildeklarationen Vorrang vor früheren , alle anderen sind gleich. Daher sollten Sie im Allgemeinen die allgemeinsten Stylesheets einfügen, die möglicherweise früher überschrieben werden, und die spezifischeren Stylesheets später.
Aus Leistungsgründen kann es eine gute Idee sein, Skripte am unteren Rand der Seite direkt vor dem zu platzieren </body>
, da das Laden von Skripten das Rendern der Seite blockiert.
Natürlich sollten <script>
Tags so bestellt werden, dass bei Skripten, die von jeder Bestellung abhängen, zuerst die Abhängigkeiten geladen werden.
Abgesehen von den Einschränkungen, die ich bereits angegeben habe, sollte die Reihenfolge der Tags im Großen und Ganzen <head>
keine große Rolle spielen, außer für die Lesbarkeit. Ich neige dazu, das <title>
nach oben zu sehen und die anderen <meta>
Tags in eine logische Reihenfolge zu bringen.
In den meisten Fällen sollte die Reihenfolge, in der Sie Dinge in den Text eines HTML-Dokuments einfügen, die Reihenfolge sein, in der sie angezeigt werden sollen, oder die Reihenfolge, in der auf sie zugegriffen werden soll. Sie können CSS verwenden, um Dinge neu anzuordnen, aber Screenreader lesen Dinge im Allgemeinen in der Quellreihenfolge, Suchindizes extrahieren Dinge in der Quellreihenfolge und so weiter.