einzeiliger Kommentar in HTML

73

Gibt es eine Möglichkeit, eine einzelne Zeile in HTML mit nur einer Escape-Sequenz am Zeilenanfang zu kommentieren? Ähnlich wie in #oder //in anderen Sprachen? Oder ist <!-- ... -->die einzige Option zum Kommentieren in HTML?

ein Slum
quelle
TL; DR: <!-- --> Nur Nr .
Andrew

Antworten:

74

von http://htmlhelp.com/reference/wilbur/misc/comment.html

Da HTML offiziell eine SGML-Anwendung ist, ist die in HTML-Dokumenten verwendete Kommentarsyntax tatsächlich die SGML-Kommentarsyntax. Leider ist diese Syntax zunächst etwas unklar.

Die Definition eines SGML-Kommentars lautet im Wesentlichen wie folgt:

Eine Kommentardeklaration beginnt mit <!, gefolgt von null oder mehr Kommentaren, gefolgt von >. Ein Kommentar beginnt und endet mit " --" und enthält kein Vorkommen von " --".
Dies bedeutet, dass alle folgenden SGML-Kommentare legal sind:
  1. <!-- Hello -->
  2. <!-- Hello -- -- Hello-->
  3. <!---->
  4. <!------ Hello -->
  5. <!>
Beachten Sie, dass ein "leeres" Kommentar-Tag mit nur " --" Zeichen immer ein Vielfaches von vier " -" Zeichen enthalten sollte, um legal zu sein. (Und ja, <!>ist auch ein rechtlicher Kommentar - es ist der leere Kommentar).

Nicht alle HTML-Parser verstehen das richtig. Zum Beispiel ist " <!------> hello-->" ein rechtlicher Kommentar, wie Sie anhand der obigen Regel überprüfen können. Es ist ein Kommentar-Tag mit zwei Kommentaren. Der erste ist leer und der zweite enthält "> Hallo". Wenn Sie es in einem Browser versuchen, werden Sie feststellen, dass der Text auf dem Bildschirm angezeigt wird.

Dafür gibt es zwei mögliche Gründe:

  1. Der Browser sieht das Zeichen ">" und glaubt, dass der Kommentar dort endet.
  2. Der Browser sieht den -->Text " " und glaubt, dass der Kommentar dort endet.
Es gibt auch das Problem mit der " --" Sequenz. Einige Leute haben die Angewohnheit, Dinge wie " <!-------------->" als Trennzeichen in ihrer Quelle zu verwenden. Leider ist in den meisten Fällen die Anzahl der " -" Zeichen kein Vielfaches von vier. Dies bedeutet, dass ein Browser, der versucht , es richtig zu machen, es hier tatsächlich falsch macht und den Rest des Dokuments tatsächlich verbirgt.

Verwenden Sie aus diesem Grund die folgende einfache Regel, um gültige und akzeptierte Kommentare zu verfassen:

Ein HTML-Kommentar beginnt mit " <!--", endet mit " -->" und enthält nirgendwo im Kommentar " --" oder " >".

digitaler Träumer
quelle
5
Interessant, ich wusste nie, dass <!>es sich um einen gültigen Kommentar handelt. Ich würde
Matti Virkkunen
Vielen Dank für die tolle und umfassende Antwort. Ich dachte nicht, dass es einen Weg gibt, aber ich dachte, es könnte nicht schaden zu fragen, und jetzt weiß ich viel mehr über Kommentare und auch darüber, <!-- -------blah------ -->was ich für in Ordnung gehalten hatte, da es einen Zwischenraum zwischen dem gab Start und Ende '-' s.
Aslum
2
AFAIK HTML5 hat sich von der SGML-Kommentarsyntax entfernt, da es nicht mehr auf SGML basiert.
Yuhong Bao
1
Downvote dafür, dass die Frage nicht wirklich beantwortet wurde, sondern stattdessen eine Reihe von irrelevanten Details bereitgestellt wurden.
Andrew
1
@aslum Dies beantwortet die Frage nicht. Überhaupt.
Andrew
34

Nein, <!-- ... -->ist die einzige Kommentarsyntax in HTML.

Matti Virkkunen
quelle
Dies sollte die einzige Antwort auf diese Frage sein .....
Andrew
8

Lassen Sie es uns einfach halten. Liebte die Antwort von @digitaldreamer, aber es könnte die Anfänger verwirren. Also werde ich versuchen, es zu vereinfachen.

Der einzige HTML-Kommentar ist: <!-- -->Er kann als einzeiliger oder doppelter Kommentar verwendet werden. Es liegt wirklich am Entwickler.

Ein HTML-Kommentar beginnt also mit <!--und endet mit -->. So einfach ist das wirklich. Sie sollten kein anderes Format verwenden, um Kompatibilitätsprobleme zu vermeiden, auch wenn das Kommentarformat legitim ist oder nicht.

Ahmad Awais
quelle
5

Nein, Sie müssen den Kommentar mit -> schließen.

Kyle Alons
quelle
3

TL; DR Für konforme Browser ja; Es gibt jedoch keine konformen Browser, also nein.

Laut HTML 4-Spezifikation <!------> hello-->handelt es sich um einen vollkommen gültigen Kommentar. Ich habe jedoch keinen Browser gefunden, der dies korrekt implementiert (dh gemäß der Spezifikation), da Entwickler die Standards nicht kennen oder nicht befolgen (wie Digitaldreamer hervorhob).

Die Definition eines Kommentars für HTML4 finden Sie auf der Website von w3c: http://www.w3.org/TR/html4/intro/sgmltut.html#h-3.2.4

Eine andere Sache, die viele Browser falsch machen, ist, dass -- >ein Kommentar genau wie geschlossen wird -->.

anonym
quelle
1
Wie bedeutet das, dass es für "konforme Browser" eine Syntax zum Öffnen eines Kommentars gibt, die am Ende der Zeile endet? Die richtige Antwort lautet "Für konforme Browser nein, aber für tatsächliche Browser auch nein."
Nick Matteo