Почему валидатор HTML выдает ошибку об этом комментарии HTML? - PullRequest
1 голос
/ 23 июля 2010

Это просто вопрос о комментариях внутри HTML-страницы.

Например:

<html>
    <head></head>
    <body>
    <!--
    <p><font size="4">--</font></p>
    -->
    </body>
</html>

Использование http://validator.w3.org/check Я получаю следующее сообщение об ошибке.Имеет ли это смысл?

Строка 6, столбец 21: недопустимое объявление комментария: найден символ "<" вне комментария, но внутри объявления комментария </p>

<p><font size="4">--</font></p>

Убедитесь, что вы используете правильный синтаксис для ваших комментариев, например:.Эта ошибка может появиться, если вы забыли последний знак «-», чтобы закрыть один комментарий, а затем откройте другой.

Ответы [ 4 ]

8 голосов
/ 23 июля 2010

Да, это имеет смысл.

Чтобы понять сообщение об ошибке, вы должны понимать тег комментария. Он состоит из трех ключевых частей: <!, с которого начинается тег, --, с которого начинается и заканчивается комментарий, и >, с которого заканчивается тег.

Когда вы помещаете -- в текст комментария, вы фактически заканчиваете часть комментария. Остальная часть текста до конца тега недействительна, так как это не комментарий, и вы можете иметь комментарии только внутри тега комментария.

Вы также можете иметь более одного комментария в теге:

<!-- comment -- -- another comment -->
1 голос
/ 23 июля 2010

Нет, это интуитивно не имеет смысла для большинства логически мыслящих людей, но валидатор действительно прав -- обозначает разделитель комментариев. Также см. Ошибка валидатора W3 5555 :

Да, действительно недействительно. - это разделитель комментариев в XML.

1 голос
/ 23 июля 2010

Похоже, что строка -- не разрешена в комментариях HTML.

0 голосов
/ 23 июля 2010

Я думаю, что это путают два дефиса в середине. Те, что в> - <. </p>

Если они у вас есть, возможно, вы могли бы заменить их на escape-символ &#45;.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...