2012-08-13 7 views
7
<!DOCTYPE html> 
<meta charset="utf-8"> 
<body> 
Hello, world! 

SOURCE FOR CODEIst dieses minimalistische HTML5-Markup gültig?

Wenn ja, neben Entfernen "Hallo Welt!" Gibt es ein Tag, das entfernt werden kann und trotzdem gültig ist, und woher weißt du, dass es noch gültig ist?

+0

Hmm, es gibt genau ein Tag fehlt und ein anderes Tag, das entfernt werden kann. Riecht ein bisschen wie * Hausaufgaben *. –

+0

@moutinator: Quelle ist dies [Präsentation auf D3] (http://bost.ocks.org/mike/d3/workshop/), ich kann nicht herausfinden, wie man mit der Folie verlinkt, also habe ich gerade verlinkt der Code. Dachte, es war interessant, sah aber nicht gut aus. Mehr auf den Punkt, nein, es ist nicht HW. – blunders

+0

Ah, aber ein künstliches Beispiel zum Zweck der Diskussion trotzdem :) Interessant, dass es in dieser Präsentation war, aber * ist * nicht wirklich gültig. –

Antwort

11

Es ist nicht gültig. Um es zu überprüfen, können Sie es in W3C Validator

ausführen Der Fehler ist: Elementkopf fehlt eine erforderliche Instanz des untergeordneten Elements Titel.

...

UPDATE

Als vcsjones erklärte das head Element ist optional. Das ist der title man wird benötigt. Guthaben an mootinator für den Hinweis, dass die body auch optional ist.

das einfachste gültige Dokument wird also sein:

<!DOCTYPE html> 
<title></title> 
+2

Um klar zu sein, ist das "Kopf" -Tag optional. Es ist das 'title'-Tag, das benötigt wird. Wenn Sie vor dem Text einen Titel hinzufügen, wird der Validierungsfehler gelöscht. – vcsjones

+0

Außerdem wird '' nicht benötigt. –

+3

Anscheinend ist '' auch optional. –

4

(. Die von HTML5 HTML-Syntax Angenommen)

Beachten Sie, dass in einigen Situationen das title Element optional ist, auch.

Von HTML5’s definition of head:

Das title Element ist ein erforderliches Kind in den meisten Situationen, aber wenn ein Protokoll höherer Ebene liefert Titelinformationen, z.B. Wenn in der Betreffzeile einer E-Mail HTML als E-Mail-Authoring-Format verwendet wird, kann das Element title weggelassen werden.

So ist die minimale Markup für ein Dokument, das einen Titel von einem „Protokoll höherer Ebene“ bekommt, ist dies:

<!DOCTYPE html> 

Wenn das Dokument der Wert eines ist iframe - srcdoc es ist dies (unter der Annahme, ein Titel wird vom Container-Dokument) zur Verfügung gestellt:

<html> 

Und für ein eigenständiges Dokument es ist der (das title Element einigen aktuellen Inhalt muss, wie noted by kapep, so dass die „...“ ist nur ein Beispiel):

<!DOCTYPE html> 
<title>…</title> 
2

Der Titel-Tag nicht leer sein oder nur Leerzeichen bestehen. Wenn sich das Dokument in einem Kontext befindet, in dem das Title-Tag erforderlich ist, müssen Sie einen gültigen Titelwert festlegen.

Die title content model ist definiert als "Text, der kein Leerzeichen zwischen den Elementen ist".

"Leere Textknoten und Textknoten, die nur aus Sequenzen von [Leerzeichen] bestehen" sind inter-element whitespace. Leerzeichen sind Leerzeichen, Tabulator, Zeilenvorschub, Seitenvorschub und Wagenrücklauf.

Wenn das Title-Tag leer ist, beschwert sich der W3C-Validator, dass "Element title darf nicht leer sein". Der Validator ist in Ordnung und fügt nur Leerzeichen hinzu, auch wenn dies gemäß den Spezifikationen nicht korrekt ist.

Es ist gültig, wenn Sie einen anderen Nicht-Leerzeichen hinzu:

<!DOCTYPE html> 
<title>x</title> 

Sie andere Leerzeichen wie nicht-Pause Raum oder Null-Breite nicht-Pause Raum, wenn Sie zu fälschen einer „leeren wollen verwenden könnte " Titel.