Single-line comment in HTML

HtmlComments

Html Problem Overview


Is there a way to comment out a single line in HTML using just an escape sequence at the start of the line?

Similar to using # or // in other languages? Or is <!-- ... --> the only option for commenting in HTML?

Html Solutions


Solution 1 - Html

From HTML comments:

>

Since HTML is officially an SGML > application, the comment syntax used > in HTML documents is actually the SGML > comment syntax. Unfortunately this > syntax is a bit unclear at first.

>

The definition of an SGML comment > is basically as follows:

> A comment declaration starts > with <!, followed by > zero or more comments, followed by > >. A comment > starts and ends with > "--", and does not > contain any occurrence of > "--".
This > means that the following are all legal > SGML comments:
  1. <!-- > Hello -->
  2. <!-- > Hello -- -- Hello--> >
  3. <!----> >
  4. <!------ Hello > -->
  5. <!>
> Note that an "empty" comment tag, with > just "--" characters, > should always have a multiple of four > "-" characters to be > legal. (And yes, > <!> is also a legal > comment - it's the empty comment).

> Not all HTML parsers get this right. > For example, "<!------> > hello-->" is a legal > comment, as you can verify with the > rule above. It is a comment tag with > two comments; the first is empty and > the second one contains "> hello". > If you try it in a browser, you will > find that the text is displayed on > screen.

There are two possible > reasons for this:

  1. The > browser sees the ">" character and > thinks the comment ends there.
  2. The > browser sees the "-->" > text and thinks the comment ends > there.
There is also the > problem with the "--" > sequence. Some people have a habit of > using things like > "<!-------------->" > as separators in their source. > Unfortunately, in most cases, the > number of "-" characters > is not a multiple of four. This means > that a browser who tries to > get it right will actually get it > wrong here and actually hide > the rest of the document.

For > this reason, use the following simple > rule to compose valid and accepted > comments:

An HTML > comment begins with > "<!--", ends with > "-->" and does not > contain "--" or > ">" anywhere in the > comment.

Solution 2 - Html

No, <!-- ... --> is the only comment syntax in HTML.

Solution 3 - Html

Let's keep it simple. I loved digitaldreamer's answer, but it might leave the beginners confused. So, I am going to try and simplify it.

The only HTML comment is <!-- -->. It can be used as a single line comment or double; it is really up to the developer.

So, an HTML comment starts with <!-- and ends with -->. It is really that simple. You should not use any other format, to avoid any compatibility issue even if the comment format is legitimate or not.

Solution 4 - Html

No, you have to close the comment with -->.

Solution 5 - Html

TL;DR: For conforming browsers, yes; but there are no conforming browsers, so no.

According to the HTML 4 specification, <!------> hello--> is a perfectly valid comment. However, I've not found a browser which implements this correctly (i.e. per the specification) due to developers not knowing, nor following, the standards (as digitaldreamer pointed out).

You can find the definition of a comment for HTML4 on W3C's website: 3.2.4 Comments

Another thing that many browsers get wrong is that -- > closes a comment just like -->.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionaslumView Question on Stackoverflow
Solution 1 - HtmldigitaldreamerView Answer on Stackoverflow
Solution 2 - HtmlMatti VirkkunenView Answer on Stackoverflow
Solution 3 - HtmlAhmad AwaisView Answer on Stackoverflow
Solution 4 - HtmlKyle AlonsView Answer on Stackoverflow
Solution 5 - HtmlanonymousView Answer on Stackoverflow